Kaynağa Gözat

Reverting previous commit and going back to r24747, commit no sense done by me in project wrong.

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@24249 44c647ce-9c0f-0410-b52a-842ac1e357ba
ramon 14 yıl önce
ebeveyn
işleme
ff5f4d164d
100 değiştirilmiş dosya ile 13020 ekleme ve 19404 silme
  1. 49 52
      documentation/manual/ar/html/dbstyle.css
  2. 181 255
      documentation/manual/ar/module_specs/Zend_Cache-Backends.xml
  3. 513 730
      documentation/manual/ar/module_specs/Zend_Cache-Frontends.xml
  4. 70 127
      documentation/manual/ar/module_specs/Zend_Cache-Introduction.xml
  5. 86 133
      documentation/manual/ar/module_specs/Zend_Cache-Theory.xml
  6. 29 50
      documentation/manual/ar/module_specs/Zend_Config-Introduction.xml
  7. 51 90
      documentation/manual/ar/module_specs/Zend_Config-TheoryOfOperation.xml
  8. 43 76
      documentation/manual/ar/module_specs/Zend_Config_Ini.xml
  9. 42 65
      documentation/manual/ar/module_specs/Zend_Config_Xml.xml
  10. 32 39
      documentation/manual/ar/module_specs/Zend_Filter.xml
  11. 9 12
      documentation/manual/ar/module_specs/Zend_Json-Basics.xml
  12. 14 19
      documentation/manual/ar/module_specs/Zend_Json-Introduction.xml
  13. 28 39
      documentation/manual/ar/module_specs/Zend_Json-Objects.xml
  14. 21 31
      documentation/manual/ar/module_specs/Zend_Service.xml
  15. 69 86
      documentation/manual/ar/module_specs/Zend_View-Controllers.xml
  16. 62 75
      documentation/manual/ar/module_specs/Zend_View-Scripts.xml
  17. 16 21
      documentation/manual/ar/module_specs/Zend_XmlRpc.xml
  18. 10 11
      documentation/manual/ar/ref/copyrights.xml
  19. 1 1
      documentation/manual/ar/ref/language-snippets.xml
  20. 43 46
      documentation/manual/bg/html/dbstyle.css
  21. 62 94
      documentation/manual/bg/module_specs/Zend_Acl-Advanced.xml
  22. 226 347
      documentation/manual/bg/module_specs/Zend_Acl.xml
  23. 1 1
      documentation/manual/bg/ref/language-snippets.xml
  24. 43 46
      documentation/manual/cs/html/dbstyle.css
  25. 52 84
      documentation/manual/cs/module_specs/Zend_Debug.xml
  26. 16 14
      documentation/manual/cs/module_specs/Zend_Exception.xml
  27. 11 13
      documentation/manual/cs/module_specs/Zend_Json-Basics.xml
  28. 23 24
      documentation/manual/cs/module_specs/Zend_Json-Introduction.xml
  29. 37 43
      documentation/manual/cs/module_specs/Zend_Json-Objects.xml
  30. 52 66
      documentation/manual/cs/module_specs/Zend_Json-xml2json.xml
  31. 19 33
      documentation/manual/cs/module_specs/Zend_Server.xml
  32. 68 73
      documentation/manual/cs/module_specs/Zend_Service.xml
  33. 21 29
      documentation/manual/cs/module_specs/Zend_Version.xml
  34. 10 12
      documentation/manual/cs/ref/copyrights.xml
  35. 71 106
      documentation/manual/cs/ref/installation.xml
  36. 1 1
      documentation/manual/cs/ref/language-snippets.xml
  37. 10 10
      documentation/manual/cs/ref/overview.xml
  38. 928 2039
      documentation/manual/cs/ref/requirements.xml
  39. 43 46
      documentation/manual/de/html/dbstyle.css
  40. 67 118
      documentation/manual/de/module_specs/Zend_Acl-Advanced.xml
  41. 72 110
      documentation/manual/de/module_specs/Zend_Acl-Refining.xml
  42. 289 415
      documentation/manual/de/module_specs/Zend_Acl.xml
  43. 350 531
      documentation/manual/de/module_specs/Zend_Amf-Server.xml
  44. 19 28
      documentation/manual/de/module_specs/Zend_Amf.xml
  45. 41 73
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-CacheManager.xml
  46. 71 97
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Db.xml
  47. 20 30
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Dojo.xml
  48. 125 182
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Frontcontroller.xml
  49. 15 23
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Layout.xml
  50. 128 174
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Locale.xml
  51. 20 28
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Log.xml
  52. 20 29
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Mail.xml
  53. 75 99
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Modules.xml
  54. 44 67
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Multidb.xml
  55. 21 31
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Navigation.xml
  56. 20 28
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Router.xml
  57. 62 89
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-Session.xml
  58. 21 34
      documentation/manual/de/module_specs/Zend_Application-AvailableResources-View.xml
  59. 19 23
      documentation/manual/de/module_specs/Zend_Application-AvailableResources.xml
  60. 431 579
      documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Application.xml
  61. 42 64
      documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Bootstrap_Bootstrap.xml
  62. 379 510
      documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Bootstrap_BootstrapAbstract.xml
  63. 153 200
      documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Bootstrap_Bootstrapper.xml
  64. 179 229
      documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Bootstrap_ResourceBootstrapper.xml
  65. 117 158
      documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Resource_Resource.xml
  66. 160 222
      documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Resource_ResourceAbstract.xml
  67. 12 20
      documentation/manual/de/module_specs/Zend_Application-CoreFunctionality.xml
  68. 109 149
      documentation/manual/de/module_specs/Zend_Application-Examples.xml
  69. 7 11
      documentation/manual/de/module_specs/Zend_Application-Introduction.xml
  70. 204 290
      documentation/manual/de/module_specs/Zend_Application-QuickStart.xml
  71. 391 535
      documentation/manual/de/module_specs/Zend_Application-TheoryOfOperation.xml
  72. 282 430
      documentation/manual/de/module_specs/Zend_Auth.xml
  73. 191 278
      documentation/manual/de/module_specs/Zend_Auth_Adapter_DbTable.xml
  74. 95 120
      documentation/manual/de/module_specs/Zend_Auth_Adapter_Digest.xml
  75. 257 349
      documentation/manual/de/module_specs/Zend_Auth_Adapter_Http.xml
  76. 749 1230
      documentation/manual/de/module_specs/Zend_Auth_Adapter_Ldap.xml
  77. 81 136
      documentation/manual/de/module_specs/Zend_Auth_Adapter_OpenId.xml
  78. 116 143
      documentation/manual/de/module_specs/Zend_Barcode-Creation.xml
  79. 8 12
      documentation/manual/de/module_specs/Zend_Barcode-Introduction.xml
  80. 343 504
      documentation/manual/de/module_specs/Zend_Barcode-Objects.xml
  81. 697 912
      documentation/manual/de/module_specs/Zend_Barcode-Objects_Details.xml
  82. 220 298
      documentation/manual/de/module_specs/Zend_Barcode-Renderers.xml
  83. 561 818
      documentation/manual/de/module_specs/Zend_Cache-Backends.xml
  84. 72 122
      documentation/manual/de/module_specs/Zend_Cache-Cache_Manager.xml
  85. 747 1110
      documentation/manual/de/module_specs/Zend_Cache-Frontends.xml
  86. 97 150
      documentation/manual/de/module_specs/Zend_Cache-Introduction.xml
  87. 114 167
      documentation/manual/de/module_specs/Zend_Cache-Theory.xml
  88. 309 456
      documentation/manual/de/module_specs/Zend_Captcha-Adapters.xml
  89. 22 42
      documentation/manual/de/module_specs/Zend_Captcha-Operation.xml
  90. 19 29
      documentation/manual/de/module_specs/Zend_Captcha.xml
  91. 89 115
      documentation/manual/de/module_specs/Zend_CodeGenerator-Examples.xml
  92. 44 61
      documentation/manual/de/module_specs/Zend_CodeGenerator-Introduction.xml
  93. 318 436
      documentation/manual/de/module_specs/Zend_CodeGenerator-Reference.xml
  94. 53 78
      documentation/manual/de/module_specs/Zend_Config-Introduction.xml
  95. 94 171
      documentation/manual/de/module_specs/Zend_Config-TheoryOfOperation.xml
  96. 131 200
      documentation/manual/de/module_specs/Zend_Config_Ini.xml
  97. 86 154
      documentation/manual/de/module_specs/Zend_Config_Writer.xml
  98. 105 166
      documentation/manual/de/module_specs/Zend_Config_Xml.xml
  99. 216 293
      documentation/manual/de/module_specs/Zend_Console_Getopt-Configuration.xml
  100. 158 209
      documentation/manual/de/module_specs/Zend_Console_Getopt-Fetching.xml

+ 49 - 52
documentation/manual/ar/html/dbstyle.css

@@ -1,94 +1,91 @@
 body {
-	font-family: Times New Roman, Arial, verdana, sans-serif;
-	direction: rtl;
-	text-align: right;
+    font-family:  Times New Roman, Arial , verdana,  sans-serif;
+    direction:rtl;
+    text-align:right;
 }
 
-h1,h2,h3,h4,h5 {
-	font-family: Arial, serif;
+h1, h2, h3, h4, h5 {
+    font-family: Arial, serif;
 }
 
 h2 {
-	font-size: 1.3em;
+    font-size: 1.3em;
 }
 
-h3,h4,h5 {
-	font-size: 1em;
-	margin: 0.2em;
+h3, h4, h5 {
+    font-size: 1em;
+    margin: 0.2em;
 }
 
-div.note,div.warning,div.tip {
-	margin-left: 0.3in;
-	margin-right: 0.5in;
-	border: solid 1px blue;
-	background-color: #e0e0e0;
-	padding: 0.1in;
+div.note, div.warning, div.tip {
+    margin-left: 0.3in;
+    margin-right: 0.5in;
+    border: solid 1px blue;
+    background-color: #e0e0e0;
+    padding: 0.1in;
 }
 
-div.note img,div.warning img,div.tip img {
-	margin-right: 0.1in;
-	border: solid 1px blue;
+div.note img, div.warning img, div.tip img {
+    margin-right: 0.1in;
+    border: solid 1px blue;
 }
 
 pre.programlisting {
-	border: solid 1px #444;
-	background-color: #e0e0e0;
-	padding: 0.1in;
-	margin: 0.2in;
-	clear: right;
+    border: solid 1px #444;
+    background-color: #e0e0e0;
+    padding: 0.1in;
+    margin: 0.2in;
+    clear: right;
 }
 
 pre.screen {
-	border: solid 1px #777;
-	background-color: #ddd;
-	padding: 0.1in;
-	margin: 0.2in;
-	clear: right;
+    border: solid 1px #777;
+    background-color: #ddd;
+    padding: 0.1in;
+    margin: 0.2in;
+    clear: right;
 }
 
 div.variablelist dl dt span.term {
-	font-weight: bold;
+    font-weight: bold;
 }
 
-hr {
-	display: none;
-}
+hr { display: none; }
 
 div.navheader {
-	padding-bottom: 0.1in;
-	border-bottom: solid 1px black;
-	border-color: #aaa;
+    padding-bottom: 0.1in;
+    border-bottom: solid 1px black;
+    border-color: #aaa;
 }
-
 div.navfooter {
-	margin-top: 0.1in;
-	border-top: solid 1px black;
-	border-color: #aaa;
-	padding-top: 0.1in;
+    margin-top: 0.1in;
+    border-top: solid 1px black;
+    border-color: #aaa;
+    padding-top: 0.1in;
 }
 
 div.figure-float {
-	float: right;
-	margin-left: 2em;
-	margin-bottom: 2em;
+    float: right;
+    margin-left: 2em;
+    margin-bottom: 2em;
 }
 
 div.revinfo {
-	text-align: center;
-	font-size: 0.7em;
-	font-style: italic;
+    text-align: center;
+    font-size: 0.7em;
+    font-style: italic;
 }
 
 p {
-	text-align: right;
-	direction: rtl;
+    text-align: right;
+    direction:rtl;
 }
 
 pre {
-	text-align: left;
-	direction: ltr;
+    text-align: left;
+    direction:ltr;
 }
 
 code.code {
-	font-family: "Lucida Console", monospace;
-}
+    font-family: "Lucida Console", monospace;
+}

+ 181 - 255
documentation/manual/ar/module_specs/Zend_Cache-Backends.xml

@@ -1,276 +1,202 @@
 <sect1 id="zend.cache.backends">
-	<title>Zend_Cache backends</title>
+    <title>Zend_Cache backends</title>
 
-	<sect2 id="zend.cache.backends.file">
-		<title>Zend_Cache_Backend_File</title>
-		<para>
-			هذا الـ backend يقوم بحفظ الـ cache records فى ملفات (داخل مجلد يتم
-			تحديده).
+    <sect2 id="zend.cache.backends.file">
+        <title>Zend_Cache_Backend_File</title>
+        <para>
+            هذا الـ backend يقوم بحفظ الـ cache records فى ملفات (داخل مجلد يتم تحديده).
         </para>
-		<para>
-			الـ options المتوفرة
+        <para>
+           الـ options المتوفرة
         </para>
-		<table>
-			<title>الـ options المتوفرة لـ Zend_Cache_Backend_File</title>
-			<tgroup cols="4">
-				<thead>
-					<row>
-						<entry>الـ Option</entry>
-						<entry>الـ Data Type</entry>
-						<entry>الـ Default Value</entry>
-						<entry>الوصف</entry>
-					</row>
-				</thead>
-				<tbody>
-					<row>
-						<entry>
-							<code>cacheDir</code>
-						</entry>
-						<entry>
-							<code>string</code>
-						</entry>
-						<entry>
-							<code>'/tmp/'</code>
-						</entry>
-						<entry>
-							المجلد حيث سيتم حفظ ملفات الـ cache
+        <table>
+            <title>الـ options المتوفرة لـ Zend_Cache_Backend_File</title>
+            <tgroup cols="4">
+                 <thead>
+                      <row>
+                        <entry>الـ Option</entry>
+                        <entry>الـ Data Type</entry>
+                        <entry>الـ Default Value</entry>
+                        <entry>الوصف</entry>
+                    </row>
+                 </thead>
+                 <tbody>
+                      <row>
+                          <entry><code>cacheDir</code></entry>
+                          <entry><code>string</code></entry>
+                          <entry><code>'/tmp/'</code></entry>
+                          <entry>
+                              المجلد حيث سيتم حفظ ملفات الـ cache
                           </entry>
-					</row>
-					<row>
-						<entry>
-							<code>fileLocking</code>
-						</entry>
-						<entry>
-							<code>boolean</code>
-						</entry>
-						<entry>
-							<code>true</code>
-						</entry>
-						<entry>
-							تفعيل او إيقاف خاصية الـ fileLocking : تساعد فى تجنب تلف ملفات الـ
-							cache
-							و لكن لا تساعد عند العمل على multithread webservers او نظام ملفات
-							NFS...
+                      </row>
+                      <row>
+                          <entry><code>fileLocking</code></entry>
+                          <entry><code>boolean</code></entry>
+                          <entry><code>true</code></entry>
+                          <entry>
+                           تفعيل او إيقاف خاصية الـ fileLocking : تساعد فى تجنب تلف ملفات الـ cache
+                            و لكن لا تساعد عند العمل على multithread webservers او نظام ملفات NFS...
                           </entry>
-					</row>
-					<row>
-						<entry>
-							<code>readControl</code>
-						</entry>
-						<entry>
-							<code>boolean</code>
-						</entry>
-						<entry>
-							<code>true</code>
-						</entry>
-						<entry>
-							تقوم بتفعيل او ايقاف الـ read control :
-							إن تم تشغيله, سيتم اضافة control key فى ملف الـ cache و هذا الـ key
-							"مفتاح"
-							سيتم مقارنته مع الأخر الذى سيتم حسابه بعد قرائة الملف.
+                      </row>
+                      <row>
+                          <entry><code>readControl</code></entry>
+                          <entry><code>boolean</code></entry>
+                          <entry><code>true</code></entry>
+                          <entry>
+                            تقوم بتفعيل او ايقاف الـ read control :
+                            إن تم تشغيله, سيتم اضافة control key فى ملف الـ cache و هذا الـ key "مفتاح"
+                            سيتم مقارنته مع الأخر الذى سيتم حسابه بعد قرائة الملف.
                           </entry>
-					</row>
-					<row>
-						<entry>
-							<code>readControlType</code>
-						</entry>
-						<entry>
-							<code>string</code>
-						</entry>
-						<entry>
-							<code>'crc32'</code>
-						</entry>
-						<entry>
-							نوع الـ read control (متوفر فقط إذا كانت read control مفعلة).
-							القيم المتوفرة هى :
-							"md5" الأفضل لكن الأبطء, "crc32" (اقل امانا لكن اسرع, الأختيار
-							الأفضل),
-							"strlen" لعمل اختبار طول فقط (الأسرع).
+                      </row>
+                      <row>
+                          <entry><code>readControlType</code></entry>
+                          <entry><code>string</code></entry>
+                          <entry><code>'crc32'</code></entry>
+                          <entry>
+                            نوع الـ read control (متوفر فقط إذا كانت read control مفعلة).
+                            القيم المتوفرة هى :
+                            "md5" الأفضل لكن الأبطء, "crc32" (اقل امانا لكن اسرع, الأختيار الأفضل),
+                            "strlen" لعمل اختبار طول فقط (الأسرع).
                         </entry>
-					</row>
-					<row>
-						<entry>
-							<code>hashedDirectoryLevel</code>
-						</entry>
-						<entry>
-							<code>int</code>
-						</entry>
-						<entry>
-							<code>0</code>
-						</entry>
-						<entry>
-							Hashed directory structure level : 0 تعنى "no hashed directory
-							structure", 1 تعنى "one level of directory", 2 تعنى "two
-							levels"...
-							هذا الـ option يمكن ان يرفع من سرعة اداء عملية الـ cache و ذلك فقط
-							إن كنت تعمل مع
-							الاف من ملفات الـ cache. ربما بعض القياسات ستساعدك فى تحديد افضل قيمة
-							مناسبة لك.
-							ربما 1 او 2 تعتبر بداية جيدة.
+                      </row>
+                      <row>
+                          <entry><code>hashedDirectoryLevel</code></entry>
+                          <entry><code>int</code></entry>
+                          <entry><code>0</code></entry>
+                          <entry>
+                            Hashed directory structure level :     0 تعنى "no hashed directory
+                             structure", 1 تعنى "one level of directory", 2 تعنى "two levels"...
+                             هذا الـ option يمكن ان يرفع من سرعة اداء عملية الـ cache و ذلك فقط إن كنت تعمل مع
+                            الاف من ملفات الـ cache. ربما بعض القياسات ستساعدك فى تحديد افضل قيمة مناسبة لك.
+                            ربما 1 او 2 تعتبر بداية جيدة.
                           </entry>
-					</row>
-					<row>
-						<entry>
-							<code>hashedDirectoryUmask</code>
-						</entry>
-						<entry>
-							<code>int</code>
-						</entry>
-						<entry>
-							<code>0700</code>
-						</entry>
-						<entry>
-							Umask للـ hashed directory structure
+                      </row>
+                      <row>
+                          <entry><code>hashedDirectoryUmask</code></entry>
+                          <entry><code>int</code></entry>
+                          <entry><code>0700</code></entry>
+                          <entry>
+                              Umask للـ hashed directory structure
                         </entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-	</sect2>
-	<sect2 id="zend.cache.backends.sqlite">
-		<title>Zend_Cache_Backend_Sqlite</title>
-		<para>
-			هذه الـ backend تقوم بحفظ الـ cache records فى قاعدة بيانات SQLite.
+                      </row>
+                  </tbody>
+              </tgroup>
+          </table>
+    </sect2>
+    <sect2 id="zend.cache.backends.sqlite">
+        <title>Zend_Cache_Backend_Sqlite</title>
+        <para>
+            هذه الـ backend تقوم بحفظ الـ cache records فى قاعدة بيانات SQLite.
         </para>
-		<para>
-			الـ options المتوفرة:
+        <para>
+            الـ options المتوفرة:
         </para>
-		<table>
-			<title>الـ options المتوفرة لـ Zend_Cache_Backend_Sqlite</title>
-			<tgroup cols="4">
-				<thead>
-					<row>
-						<entry>الـ Option</entry>
-						<entry>الـ Data Type</entry>
-						<entry>الـ Default Value</entry>
-						<entry>الوصف</entry>
-					</row>
-				</thead>
-				<tbody>
-					<row>
-						<entry>
-							<code>cacheDBCompletePath (mandatory)</code>
-						</entry>
-						<entry>
-							<code>string</code>
-						</entry>
-						<entry>
-							<code>null</code>
-						</entry>
-						<entry>
-							المسار الكامل (مع اسم الملف) التى توجد به قاعدة بيانات SQLite.
+        <table>
+            <title>الـ options المتوفرة لـ Zend_Cache_Backend_Sqlite</title>
+            <tgroup cols="4">
+                 <thead>
+                      <row>
+                           <entry>الـ Option</entry>
+                        <entry>الـ Data Type</entry>
+                        <entry>الـ Default Value</entry>
+                        <entry>الوصف</entry>
+                    </row>
+                 </thead>
+                 <tbody>
+                      <row>
+                          <entry><code>cacheDBCompletePath (mandatory)</code></entry>
+                          <entry><code>string</code></entry>
+                          <entry><code>null</code></entry>
+                          <entry>
+                              المسار الكامل (مع اسم الملف) التى توجد به قاعدة بيانات SQLite.
                           </entry>
-					</row>
-					<row>
-						<entry>
-							<code>automaticVacuumFactor</code>
-						</entry>
-						<entry>
-							<code>int</code>
-						</entry>
-						<entry>
-							<code>10</code>
-						</entry>
-						<entry>
-							تقوم بـ إيقاف / إدارة عملية تنظيم الفراغات التلقائية.
-							عملية تنظيم الفراغات التلقائية تقوم بعمل defragment لملف قاعدة
-							البيانات
-							(و تجعله أصغر) عند إستدعاء ()clean أو ()delete :
-							و 0 تعنى إيقاف عملية تنظيم الفراغات التلقائية ;
-							1 تعنى تشغيل عملية الإدارة (عند إستدعاء ()delete أو ()clean ) ;
-							x (integer) > 1 => ستتم عملية تنظيم الفراغات عشوائياً مرة لكل
-							x مرة من إستدعاء ()clean أو ()delete .
+                      </row>
+                        <row>
+                          <entry><code>automaticVacuumFactor</code></entry>
+                          <entry><code>int</code></entry>
+                          <entry><code>10</code></entry>
+                          <entry>
+                            تقوم بـ إيقاف / إدارة عملية تنظيم الفراغات التلقائية.
+                            عملية تنظيم الفراغات التلقائية تقوم بعمل defragment لملف قاعدة البيانات
+                            (و تجعله أصغر) عند إستدعاء ()clean أو ()delete :
+                            و 0 تعنى إيقاف عملية تنظيم الفراغات التلقائية ;
+                            1 تعنى تشغيل عملية الإدارة (عند إستدعاء ()delete أو ()clean ) ;
+                            x (integer) > 1  => ستتم عملية تنظيم الفراغات عشوائياً مرة لكل
+                            x مرة من إستدعاء ()clean أو ()delete .
                           </entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-	</sect2>
-	<sect2 id="zend.cache.backends.memcached">
-		<title>Zend_Cache_Backend_Memcached</title>
-		<para>
-			هذه الـ backend تقوم بحفظ الـ cache records فى memcached server.
-			<ulink url="http://www.danga.com/memcached/">memcached</ulink>
-			عبارة عن نظام caching للبيانات فى الذاكرة و يتميز بكفائته العالية.
-			لتستخدم هذا الـ backend انت تحتاج memcached daemon و
-			<ulink url="http://pecl.php.net/package/memcache">الـ memcache PECL extension</ulink>
-			.
-		</para>
-		<para>
-			احترس: مع هذا الـ backend الـ tags غير مدعومة الى الأن .
-			(لأن "doNotTestCacheValidity=true")
+                        </row>
+                  </tbody>
+              </tgroup>
+          </table>
+    </sect2>
+    <sect2 id="zend.cache.backends.memcached">
+        <title>Zend_Cache_Backend_Memcached</title>
+        <para>
+           هذه الـ backend تقوم بحفظ الـ cache records فى memcached server.
+<ulink url="http://www.danga.com/memcached/">memcached</ulink>
+عبارة عن نظام caching للبيانات فى الذاكرة و يتميز بكفائته العالية.
+لتستخدم هذا الـ backend انت تحتاج memcached daemon و
+<ulink url="http://pecl.php.net/package/memcache">الـ memcache PECL extension</ulink>.
         </para>
-		<para>
-			الـ options المتوفرة :
+        <para>
+            احترس: مع هذا الـ backend الـ tags غير مدعومة الى الأن .
+(لأن "doNotTestCacheValidity=true")
         </para>
-		<table>
-			<title> الـ options المتوفرة لـ Zend_Cache_Backend_Memcached</title>
-			<tgroup cols="4">
-				<thead>
-					<row>
-						<entry>الـ Option</entry>
-						<entry>الـ Data Type</entry>
-						<entry>الـ Default Value</entry>
-						<entry>الوصف</entry>
-					</row>
-				</thead>
-				<tbody>
-					<row>
-						<entry>
-							<code>servers</code>
-						</entry>
-						<entry>
-							<code>array</code>
-						</entry>
-						<entry>
-							<code>array(array('host' => 'localhost','port' => 11211,
-								'persistent' => true))</code>
-						</entry>
-						<entry>
-							An array of memcached servers ; each memcached server is described
-							by an associative array :
-							'host' => (string) : اسم الـ memcached server,
-							'port' => (int) : الـ port الخاص بالـ memcached server,
-							'persistent' => (bool) : استخدام او عدم استخدام الـ persistant connections مع
-							هذا الـ server.
+        <para>
+             الـ options المتوفرة :
+        </para>
+        <table>
+            <title> الـ options المتوفرة لـ Zend_Cache_Backend_Memcached</title>
+            <tgroup cols="4">
+                 <thead>
+                      <row>
+                        <entry>الـ Option</entry>
+                        <entry>الـ Data Type</entry>
+                        <entry>الـ Default Value</entry>
+                        <entry>الوصف</entry>
+                    </row>
+                 </thead>
+                 <tbody>
+                      <row>
+                          <entry><code>servers</code></entry>
+                          <entry><code>array</code></entry>
+                          <entry><code>array(array('host' => 'localhost','port' => 11211, 'persistent' => true))</code></entry>
+                          <entry>
+                              An array of memcached servers ; each memcached server is described by an associative array :
+                              'host' => (string) : اسم الـ memcached server,
+                              'port' => (int) : الـ port الخاص بالـ memcached server,
+                              'persistent' => (bool) : استخدام او عدم استخدام الـ persistant connections مع هذا الـ server.
                           </entry>
-					</row>
-					<row>
-						<entry>
-							<code>compression</code>
-						</entry>
-						<entry>
-							<code>boolean</code>
-						</entry>
-						<entry>
-							<code>flase</code>
-						</entry>
-						<entry>
-							اعطها القيمة true إن اردت عمل ضغط للبيانت on-the-fly (إن صح التعبير
-							"على الطاير").
+                      </row>
+                      <row>
+                          <entry><code>compression</code></entry>
+                          <entry><code>boolean</code></entry>
+                          <entry><code>flase</code></entry>
+                          <entry>
+                             اعطها القيمة true إن اردت عمل ضغط للبيانت on-the-fly (إن صح التعبير "على الطاير").
                           </entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-	</sect2>
-	<sect2 id="zend.cache.backends.apc">
-		<title>Zend_Cache_Backend_APC</title>
-		<para>
-			هذه الـ backend تقوم بحفظ الـ cache records فى ذاكرة مشتركة من خلال
-			الـ extension
-			المسمى
-			<ulink url="http://pecl.php.net/package/APC">APC</ulink>
-			(Alternative PHP Cache).
-			(بالطبع ستحتاج هذه الـ extension لتستطيع استخدام هذه الـ backend)
-		</para>
-		<para>
-			احترس: مع هذا الـ backend الـ tags غير مدعومة الى الأن .
-			(لأن "doNotTestCacheValidity=true")
+                      </row>
+                  </tbody>
+              </tgroup>
+          </table>
+    </sect2>
+    <sect2 id="zend.cache.backends.apc">
+        <title>Zend_Cache_Backend_APC</title>
+        <para>
+            هذه الـ backend تقوم بحفظ الـ cache records فى ذاكرة مشتركة من خلال الـ extension
+المسمى
+<ulink url="http://pecl.php.net/package/APC">APC</ulink> (Alternative PHP Cache).
+(بالطبع ستحتاج هذه الـ extension لتستطيع استخدام هذه الـ backend)
+        </para>
+        <para>
+            احترس: مع هذا الـ backend الـ tags غير مدعومة الى الأن .
+(لأن "doNotTestCacheValidity=true")
         </para>
-		<para>
-			لا يوجد options لهذه الـ backend
+        <para>
+            لا يوجد options لهذه الـ backend
         </para>
-	</sect2>
+    </sect2>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

Dosya farkı çok büyük olduğundan ihmal edildi
+ 513 - 730
documentation/manual/ar/module_specs/Zend_Cache-Frontends.xml


+ 70 - 127
documentation/manual/ar/module_specs/Zend_Cache-Introduction.xml

@@ -1,61 +1,33 @@
 <sect1 id="zend.cache.introduction">
-	<title>مقدمة</title>
-	<para>
-		<code>Zend_Cache</code>
-		يوفر إمكانية عمل cache للبيانات.
-	</para>
-	<para>
-		عملية الـ caching فى إطار عمل Zend يتم إدارتها من خلال مجموعة من الـ
-		frontends فى حين ان سجلات الـ cache يتم حفظها
-		و استرجاعها عن طريق backend adapters مثل (
-		<code>File</code>
-		,
-		<code>Sqlite</code>
-		,
-		<code>Memcache</code>
-		...)
-		و يستخدم ايضا IDs و tags. بهذه الطريقة يكن من السهل حذف مجموعات محددة
-		من السجلات بعد ذلك.
-		على سبيل المثال ("حذف كل سجلات الـ cache المعرفة بـ tag معين")
-
-
-	</para>
-
-	<para>
-		Core هو (
-		<code>Zend_Cache_Core</code>
-		) و هو يمثل المرونة و الشمولية و قابلية تعديل الخصائص (configurable).
-		حتى الأن يوجد مجموعة من الـ cache frontends تمتد عن
-		<code>Zend_Cache_Core</code>
-		و التى ستخدم احتياجاتك.
-		و هى :
-		<code>Output</code>
-		,
-		<code>File</code>
-		,
-		<code>Function</code>
-		و
-		<code>Class</code>
-		.
-
-
-	</para>
-	<example>
-		<title>
-			إنشاء frontend بواسطة
-			<code>()Zend_Cache::factory</code>
-		</title>
-
-		<para>
-			<code>()Zend_Cache::factory</code>
-			ينشئ الـ objects المتوافقة معا و التى
-			ستحتاجها لإتمام عملك. فى هذا المثال, سنستخدم frontend و هو
-			<code>Core</code>
-			و سنستخدم ايضا backend وهو
-			<code>File</code>
-			.
-
-			<programlisting role="php"><![CDATA[<?php
+    <title>مقدمة</title>
+    <para>
+        <code>Zend_Cache</code> يوفر إمكانية عمل cache للبيانات.
+    </para>
+      <para>
+          عملية الـ caching فى إطار عمل Zend يتم إدارتها من خلال مجموعة من الـ frontends فى حين ان سجلات الـ cache يتم حفظها
+           و استرجاعها عن طريق backend adapters مثل (<code>File</code>, <code>Sqlite</code>, <code>Memcache</code>...)
+          و يستخدم ايضا IDs و tags. بهذه الطريقة يكن من السهل حذف مجموعات محددة من السجلات بعد ذلك.
+          على سبيل المثال ("حذف كل سجلات الـ cache المعرفة بـ tag معين")
+
+
+    </para>
+
+    <para>
+        Core هو (<code>Zend_Cache_Core</code>) و هو يمثل المرونة و الشمولية و قابلية تعديل الخصائص (configurable).
+        حتى الأن يوجد مجموعة من الـ cache frontends تمتد عن <code>Zend_Cache_Core</code> و التى ستخدم احتياجاتك.
+        و هى : <code>Output</code>, <code>File</code>, <code>Function</code> و <code>Class</code>.
+
+
+    </para>
+    <example>
+        <title>إنشاء frontend بواسطة <code>()Zend_Cache::factory</code></title>
+
+        <para>
+            <code>()Zend_Cache::factory</code> ينشئ الـ objects المتوافقة معا و التى
+            ستحتاجها لإتمام عملك. فى هذا المثال, سنستخدم frontend و هو <code>Core</code>
+            و سنستخدم ايضا backend  وهو <code>File</code>.
+
+            <programlisting role="php"><![CDATA[<?php
 require_once 'Zend/Cache.php';
 
 $frontendOptions = array(
@@ -71,18 +43,14 @@ $backendOptions = array(
 $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);
 
 ?>]]></programlisting>
-		</para>
-		<para>
-
-			الأن لدينا frontend و أيضا يمكننا عمل cache لأى نوع من البيانات
-			(لأننا قمنا بتشغيل الـ serialization ) .
-			على سبيل المثال , يمكننا عمل cache لبيانات ناتجة عن تنفيذ استعلام كبير
-			على قاعدة بيانات .
-			بعد عمل cache لهذه البيانات, لن نحتاج الى ان نتصل حتى بقاعدة البيانات فى
-			المرات القادمة; كل ما علينا
-			هو جلب هذه البيانات من الـ cache و استخدامها (سيتم عمل unserialization
-			للبيانات ضمنيا ).
-			<programlisting role="php"><![CDATA[<?php
+       </para>
+       <para>
+
+            الأن لدينا frontend و أيضا يمكننا عمل cache لأى نوع من البيانات (لأننا قمنا بتشغيل الـ serialization ) .
+ على سبيل المثال , يمكننا عمل cache لبيانات ناتجة عن تنفيذ استعلام كبير على قاعدة بيانات .
+ بعد عمل cache لهذه البيانات, لن نحتاج الى ان نتصل حتى بقاعدة البيانات فى المرات القادمة; كل ما علينا
+هو جلب هذه البيانات من الـ cache و استخدامها (سيتم عمل unserialization للبيانات ضمنيا ).
+            <programlisting role="php"><![CDATA[<?php
 
 // $cache initialized in previous example
 
@@ -107,32 +75,19 @@ if(!$result = $cache->load('myresult')) {
 print_r($result);
 
 ?>]]></programlisting>
-		</para>
-	</example>
-	<example>
-		<title>
-			عمل cache للخرج بإستخدام الـ Output frontend الخاصة بـ
-			<code>Zend_Cache</code>
-		</title>
-		<para>
-			سنقوم بتحديد الأماكن التى نريد عمل cache لخرجها و ذلك بإستخدامنا لبعض
-			الأكواد الشرطية,
-			سنضع بلوك الكود المحدد ما بين الـ method المسمى
-			<code>()start</code>
-			و الأخر المسمى
-			<code>()end</code>
-			.
-			( هذا يعيد هيكلة المثال الأول و هذه هى الفكرة الأساسية للـ caching ).
-		</para>
-		<para>
-			بالداخل ستقوم بإخراج البيانات كالمعتاد, كل الخرج سيكن قد تم عمل cache
-			له عندما يتم الوصول الى
-			<code>()end</code>
-			.
-			عند تشغيل هذا الكود مرة اخرى, لن يتم تنفيذ الكود المحدد فى هذا المكان
-			لكن سيتم جلب البيانات من الـ cache
-			- و هذا طالما ان البيانات فى الـ cache مازالت قابلة للإستخدام .
-			<programlisting role="php"><![CDATA[<?php
+       </para>
+    </example>
+    <example>
+        <title>عمل cache للخرج بإستخدام الـ Output frontend الخاصة بـ <code>Zend_Cache</code></title>
+        <para>
+           سنقوم بتحديد الأماكن التى نريد عمل cache لخرجها و ذلك بإستخدامنا لبعض الأكواد الشرطية,
+سنضع بلوك الكود المحدد ما بين الـ method المسمى <code>()start</code> و الأخر المسمى <code>()end</code> .
+( هذا يعيد هيكلة المثال الأول و هذه هى الفكرة الأساسية للـ caching ).
+        </para><para>
+           بالداخل ستقوم بإخراج البيانات كالمعتاد, كل الخرج سيكن قد تم عمل cache له عندما يتم الوصول الى <code>()end</code> .
+عند تشغيل هذا الكود مرة اخرى, لن يتم تنفيذ الكود المحدد فى هذا المكان لكن سيتم جلب البيانات من الـ cache
+- و هذا طالما ان البيانات فى الـ cache مازالت قابلة للإستخدام .
+            <programlisting role="php"><![CDATA[<?php
 
 $frontendOptions = array(
    'lifeTime' => 30,                  // cache lifetime of half a minute
@@ -155,36 +110,24 @@ if(!$cache->start('mypage')) {
 
 echo 'This is never cached ('.time().').';
 
-?>]]>
-			</programlisting>
-		</para>
-		<para>
-			لاحظ اننا نقوم بإخراج ناتج الدالة
-			<code>()time</code>
-			مرتين; و هذا نستخدمه هنا فقط للتوضيح.
-			جرب ان تشغل هذا مرة ثم قم بإعادة تشغيله عدة مرات متتالية, ستلاحظ ان
-			الرقم الأول لا يتغير و
-			لكن الرقم الثانى يتغير مع مرور الوقت, هذا لأن الرقم الأول تم اخراجه فى
-			منطقة الـ cache المحددة فى الكود
-			و بالتالى تم حفظه فى الـ cache على عكس بقية البيانات المخرجة.
-			بعد نصف دقيقة سيصبح الرقمين متساويين لأن فترة صلاحية البيانات فى الـ
-			cache قد انتهت
-			( لقد قمنا بوضع قيمة lifeTime الى 30 ثانية ). و بهذا سيتم تحديث قيمة
-			البيانات المخزنة فى الـ cache
-			من جديد. - جرب هذا بنفسك فى متصفحك لتفهم ما يحدث.
-		</para>
-	</example>
-	<note>
-		<para>
-			عند إستخدام Zend_Cache, ركز على إعطاء معرف مميز للـ cache (الذى تمرره
-			الى
-			<code>()start</code>
-			و
-			<code>()save</code>
-			) و يجب الا يتكرر فى عمليات cache اخرى.
-			الوقوع فى هذا الخطأ سيسبب تداخل بين البيانات و اسوأ ما سيحدث هو أن هذه
-			البيانات ستظهر فى اماكن ظهور بيانات أخرى.
-		</para>
-	</note>
+?>]]>       </programlisting>
+       </para>
+       <para>
+           لاحظ اننا نقوم بإخراج ناتج الدالة <code>()time</code> مرتين; و هذا نستخدمه هنا فقط للتوضيح.
+جرب ان تشغل هذا مرة ثم قم بإعادة تشغيله عدة مرات متتالية, ستلاحظ ان الرقم الأول لا يتغير و
+لكن الرقم الثانى يتغير مع مرور الوقت, هذا لأن الرقم الأول تم اخراجه فى منطقة الـ cache المحددة فى الكود
+و بالتالى تم حفظه فى الـ cache على عكس بقية البيانات المخرجة.
+بعد نصف دقيقة سيصبح الرقمين متساويين لأن فترة صلاحية البيانات فى الـ cache قد انتهت
+( لقد قمنا بوضع قيمة lifeTime الى 30 ثانية ). و بهذا سيتم تحديث قيمة البيانات المخزنة فى الـ cache
+من جديد. - جرب هذا بنفسك فى متصفحك لتفهم ما يحدث.
+       </para>
+    </example>
+    <note><para>
+        عند إستخدام Zend_Cache, ركز على إعطاء معرف مميز للـ cache (الذى تمرره الى
+ <code>()start</code> و <code>()save</code> ) و يجب الا يتكرر فى عمليات cache اخرى.
+الوقوع فى هذا الخطأ سيسبب تداخل بين البيانات و اسوأ ما سيحدث هو أن هذه البيانات ستظهر فى اماكن ظهور بيانات أخرى.
+    </para></note>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 86 - 133
documentation/manual/ar/module_specs/Zend_Cache-Theory.xml

@@ -1,62 +1,36 @@
 <sect1 id="zend.cache.theory">
-	<title>مفهوم الـ caching </title>
-	<para>
-		هناك ثلاث مفاهيم رئيسية فى Zend_Cache. الأول هو المعرف المميز و هو
-		عيارة عن string
-		و الذى يستخدم لتعريف البيانات المسجلة فى الـ cache.
-		الثانى هو التعليمة
-		<code>'lifeTime'</code>
-		كما رأيتها فى المثال السابق, هى تعرف الفترة الزمنية التى
-		يتم اعتبار البيانات المحفوظة فى الـ cache و بهذا المعرف قابلة للإستخدام
-		"طازجة" .
-		المفهوم الثالث هو التنفيذ الشرطى للأكواد, حيث يتم اهمال جزء من الكود و لا يتم
-		تنفيذه و هذا يزيد من كفائة الأداء (performance) .
-		الدالة الأساسية (
-		<code>()Zend_Cache_Core::get</code>
-		) تم تصميمها لتعيد false
-		عندما لا تجد البيانات المطلوبة فى الـ cache قابلة للإستخدام .
-		هذا يسمح للمستخدم النهائى (انت المبرمج) من تحديد جزء من الكود الذى يريد
-		عمل cache له داخل جملة
-		<code>{ ... }()if</code>
-		حيث ان الشرط هو هذه الدالة من Zend_Cache .
-		فى نهاية هذه البلوكات يجب ان تقوم بحفظ الناتج , بإستخدام
-		(
-		<code>()Zend_Cache_Core::save</code>
-		).
-	</para>
-	<note>
-		<para>
-			عملية التنفيذ الشرطى للأكواد لا تكن مهمة فى بعض الحالات ( مثل إستخدام
-			الـ frontend المسمى
-			<code>Function</code>
-			) حيث سيكون الجزء المنطقى من الكود معرف داخل الـ frontend نفسه.
-		</para>
-	</note>
-	<note>
-		<para>
-			المصطلح 'Cache hit' و الذى رأيته فى المثال نستخدمه للتعبير عن انه تم إيجاد
-			بيانت فى الـ cache تنتمى
-			لهذا المعرف و هذه البيانات قابلة للإستخدام و "طازجة" (بمعنى اخر لم تنتهى
-			فترة صلاحيتها).
-			المصطلح 'cache miss' هو عكس ما سبق, فعندما يحدث cache miss يجب ان تقوم
-			بإنتاج بياناتك من
-			جديد (كما يحدث فى الأوضاع الطبيعية) ثم تقم بعمل cache لها .
-			و عندما يحدث cache hit تقم الـ backend تلقائياً بجلب البيانات من الـ
-			cache .
-
+    <title>مفهوم الـ caching </title>
+    <para>
+        هناك ثلاث مفاهيم رئيسية فى Zend_Cache. الأول هو المعرف المميز و هو عيارة عن string
+و الذى يستخدم لتعريف البيانات المسجلة فى الـ cache.
+الثانى هو التعليمة <code>'lifeTime'</code> كما رأيتها فى المثال السابق, هى تعرف الفترة الزمنية التى
+يتم اعتبار البيانات المحفوظة فى الـ cache و بهذا المعرف قابلة للإستخدام "طازجة" .
+المفهوم الثالث هو التنفيذ الشرطى للأكواد, حيث يتم اهمال جزء من الكود و لا يتم تنفيذه و هذا يزيد من كفائة الأداء (performance) .
+الدالة الأساسية (<code>()Zend_Cache_Core::get</code>) تم تصميمها لتعيد false
+ عندما لا تجد البيانات المطلوبة فى الـ cache قابلة للإستخدام .
+هذا يسمح للمستخدم النهائى (انت المبرمج) من تحديد جزء من الكود الذى يريد عمل cache له داخل جملة
+<code>{ ... }()if</code> حيث ان الشرط هو هذه الدالة من Zend_Cache .
+فى نهاية هذه البلوكات يجب ان تقوم بحفظ الناتج , بإستخدام
+(<code>()Zend_Cache_Core::save</code>).
     </para>
-	</note>
-	<sect2 id="zend.cache.factory">
-		<title>
-			الـ factory method فى
-			<code>Zend_Cache</code>
-		</title>
-		<para>
-			طريقة جيدة لإنشاء frontend instance قابل لإستخدام من
-			<code>Zend_Cache</code>
-			نستعرضها فى
-			المثال التالى :
-			<programlisting role="php"><![CDATA[<?php
+    <note><para>
+        عملية التنفيذ الشرطى للأكواد لا تكن مهمة فى بعض الحالات ( مثل إستخدام الـ frontend المسمى
+<code>Function</code> ) حيث سيكون الجزء المنطقى من الكود معرف داخل الـ frontend نفسه.
+    </para></note>
+    <note><para>
+        المصطلح 'Cache hit' و الذى رأيته فى المثال نستخدمه للتعبير عن انه تم إيجاد بيانت فى الـ cache تنتمى
+لهذا المعرف و هذه البيانات قابلة للإستخدام و "طازجة" (بمعنى اخر لم تنتهى فترة صلاحيتها).
+المصطلح 'cache miss' هو عكس ما سبق, فعندما يحدث cache miss يجب ان تقوم بإنتاج بياناتك من
+جديد (كما يحدث فى الأوضاع الطبيعية) ثم تقم بعمل cache لها .
+و عندما يحدث cache hit تقم الـ backend تلقائياً بجلب البيانات من الـ cache .
+
+    </para></note>
+    <sect2 id="zend.cache.factory">
+        <title>الـ factory method فى <code>Zend_Cache</code></title>
+        <para>
+            طريقة جيدة لإنشاء frontend instance قابل لإستخدام من <code>Zend_Cache</code> نستعرضها فى
+المثال التالى :
+            <programlisting role="php"><![CDATA[<?php
 
 # We "load" the Zend_Cache factory
 require 'Zend/Cache.php';
@@ -78,61 +52,47 @@ $backendOptions = array([...]);
 $cache = Zend_Cache::factory($frontendName, $backendName, $frontendOptions, $backendOptions);
 
 ?>]]></programlisting>
-		</para>
-		<para>
-			فى الأمثلة التالية سنعتبر ان المتغير
-			<code>cache$</code>
-			يحتوى frontend instance صالح للإستخدام
-			كما هو موضح فى المثال السابق, و انك تفهم كيفية تمرير parameters للـ
-			backends التى تود إستخدامها.
-		</para>
-		<note>
-			<para>
-				دائما إستخدم
-				<code>()Zend_Cache::factory</code>
-				لتنشئ frontend instance .
-				إنشاء الـ frontend instance و الـ backends instance بنفسك مباشرة لن يعمل
-				كما تتوقع.
-			</para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.cache.tags">
-		<title>إستخدام الـ tags</title>
-		<para>
-			الـ tags طرق لتقسيم البيانات فى الـ cache الى اقسام معرفة, عندما تقم
-			بحفظ cache بإستخدام
-			<code>()save</code>
-			يمكنك ان تقم بتمرير array تحتوى على الـ tags التى تتوافق مع هذا الـ
-			record (او البيانت المخزنة فى الـ cache ) .
-			بالتالى ستستطيع حذف كل الـ cache records المنسوبة الى tag او مجموعة tags
-			محددة.
-		</para>
-		<programlisting role="php"><![CDATA[<?php
+        </para>
+        <para>
+            فى الأمثلة التالية سنعتبر ان المتغير <code>cache$</code> يحتوى frontend instance صالح للإستخدام
+كما هو موضح فى المثال السابق, و انك تفهم كيفية تمرير parameters للـ backends التى تود إستخدامها.
+        </para>
+        <note><para>
+            دائما إستخدم <code>()Zend_Cache::factory</code> لتنشئ frontend instance .
+إنشاء  الـ frontend instance و الـ backends instance بنفسك مباشرة لن يعمل كما تتوقع.
+        </para></note>
+    </sect2>
+
+    <sect2 id="zend.cache.tags">
+        <title>إستخدام الـ tags</title>
+        <para>
+            الـ tags طرق لتقسيم البيانات فى الـ cache الى اقسام معرفة, عندما تقم بحفظ cache بإستخدام
+<code>()save</code> يمكنك ان تقم بتمرير array تحتوى على الـ tags التى تتوافق مع هذا الـ
+record (او البيانت المخزنة فى الـ cache ) .
+بالتالى ستستطيع حذف كل الـ cache records المنسوبة الى tag او مجموعة tags محددة.
+        </para>
+        <programlisting role="php"><![CDATA[<?php
 
 $cache->save($huge_data, 'myUniqueID', array('tagA', 'tagB', 'tagC'));
 
 ?>]]></programlisting>
-	</sect2>
-	<sect2 id="zend.cache.clean">
-		<title>تنظيف الـ cache</title>
-		<para>
-			لحذف او تحديد معرف cache على انه غير قابل للإستخدام, يمكنك استخدام
-			<code>()remove</code>
-			كما فى المثال التالى :
-		</para>
-		<programlisting role="php"><![CDATA[<?php
+    </sect2>
+    <sect2 id="zend.cache.clean">
+        <title>تنظيف الـ cache</title>
+        <para>
+            لحذف او تحديد معرف cache على انه غير قابل للإستخدام, يمكنك استخدام <code>()remove</code>
+ كما فى المثال التالى :
+        </para>
+        <programlisting role="php"><![CDATA[<?php
 
 $cache->remove('idToRemove');
 
 ?>]]></programlisting>
-		<para>
-			لحذف او تحديد اكثر من معرف cache على انهم غير قابلين للإستخدام, يمكنك
-			استخدام
-			<code>()clean</code>
-			, على سبيل المثال يمكنك حذف كل الـ cache records .
-		</para>
-		<programlisting role="php"><![CDATA[<?php
+        <para>
+            لحذف او تحديد اكثر من معرف cache على انهم غير قابلين للإستخدام, يمكنك استخدام
+<code>()clean</code> , على سبيل المثال يمكنك حذف كل الـ cache records .
+        </para>
+        <programlisting role="php"><![CDATA[<?php
 
 // clean all records
 $cache->clean(Zend_Cache::CLEANING_MODE_ALL);
@@ -140,37 +100,30 @@ $cache->clean(Zend_Cache::CLEANING_MODE_ALL);
 // clean only outdated
 $cache->clean(Zend_Cache::CLEANING_MODE_OLD);
 
-?>]]>
-		</programlisting>
-		<para>
-			إن اردت حذف الـ cache records التى تنتمى الى tags محددة, مثلا 'tagA' و
-			'tagC'
-			يمكنك استخدام :
+?>]]>   </programlisting>
+        <para>
+            إن اردت حذف الـ cache records التى تنتمى الى tags محددة, مثلا 'tagA' و 'tagC'
+يمكنك استخدام :
         </para>
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 
 $cache->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('tagA', 'tagC'));
 
-?>]]>
-		</programlisting>
-		<para>
-			الـ cleaning modes المتوفرة هى :
-			<code>CLEANING_MODE_ALL</code>
-			تقوم بحذف كل الـ cache records الموجودة
-
-			,
-			<code>CLEANING_MODE_OLD</code>
-			تقوم بحذف الـ records القديمة او الغير
-			صالحة للإستخدام
-			,
-			<code>CLEANING_MODE_MATCHING_TAG</code>
-			تقوم بحذف كل الـ records التى تنتمى الى مجموعة tags محددة
-			,
-			<code>CLEANING_MODE_NOT_MATCHING_TAG</code>
-			تقوم بحذف كل الـ records
-			التى لا تنتمى الى مجموعة الـ tags الممررة.
-
-		</para>
-	</sect2>
+?>]]>   </programlisting>
+        <para>
+            الـ cleaning modes المتوفرة هى :
+<code>CLEANING_MODE_ALL</code> تقوم بحذف كل الـ cache records الموجودة
+
+,  <code>CLEANING_MODE_OLD</code> تقوم بحذف الـ records القديمة او الغير
+ صالحة للإستخدام
+,
+ <code>CLEANING_MODE_MATCHING_TAG</code> تقوم بحذف كل الـ records التى تنتمى الى مجموعة tags محددة
+,<code>CLEANING_MODE_NOT_MATCHING_TAG</code> تقوم بحذف كل الـ records
+التى لا تنتمى الى مجموعة الـ tags الممررة.
+
+        </para>
+    </sect2>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 29 - 50
documentation/manual/ar/module_specs/Zend_Config-Introduction.xml

@@ -1,46 +1,25 @@
 <sect1 id="zend.config.introduction">
-	<title>مقدمة</title>
-	<para>
-		تم تصميم
-		<code>Zend_Config</code>
-		لتُبسّط عملية الوصول و أستخدام بيانات الأعدادات "configuration data"
-		داخل التطبيقات , حيث توفرالوصول إلى هذه البيانات بنفس الطريقة المتبعة
-		لقرائة قيمة
-		property فى أى كائن PHP عادى,
-		و يمكن أن تأتى هذه البيانات من عدّة وسائط حفظ بيانات تدعم جفظ البيانات
-		بهيكلة هرمية,
-		فحالياً توفر
-		<code>Zend_Config</code>
-		ادوات لقرائة انواع من البيانات المحفوظة فى ملفات نصية و هى
-		<link linkend="zend.config.adapters.ini">
-			<code>Zend_Config_Ini</code>
-		</link>
-		و
-		<link linkend="zend.config.adapters.xml">
-			<code>Zend_Config_Xml</code>
-		</link>
-		.
-	</para>
-	<example>
-		<title>إستخدام Zend_Config Per Se</title>
-		<para>
-			من الطبيعى توقع أن المبرمجين سيستخدمون أحد الـ adapter classes أو الـ
-			"classes التوفيقية" مثل
-			<link linkend="zend.config.adapters.ini">
-				<code>Zend_Config_Ini</code>
-			</link>
-			أو
-			<link linkend="zend.config.adapters.xml">
-				<code>Zend_Config_Xml</code>
-			</link>
-			,
-			لكن إن كانت بيانات الأعدادات متوفرة فى مصفوفة PHP عادية, يمكن تمرير هذه
-			البيانات إلى
-			<code>Zend_Config</code>
-			فى الـ constructor , و ذلك يفضل لتغليف البيانات داخل
-			واجهة كأنية.
-		</para>
-		<programlisting role="php"><![CDATA[<?php
+    <title>مقدمة</title>
+    <para>
+        تم تصميم <code>Zend_Config</code> لتُبسّط عملية الوصول و أستخدام بيانات الأعدادات "configuration data"
+        داخل التطبيقات , حيث توفرالوصول إلى هذه البيانات بنفس الطريقة المتبعة لقرائة قيمة
+        property فى أى كائن PHP عادى,
+        و يمكن أن تأتى هذه البيانات من عدّة وسائط حفظ بيانات  تدعم جفظ البيانات بهيكلة هرمية,
+        فحالياً توفر <code>Zend_Config</code> ادوات لقرائة انواع من البيانات المحفوظة فى ملفات نصية و هى
+        <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> و
+        <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>.
+    </para>
+    <example>
+        <title>إستخدام Zend_Config Per Se</title>
+        <para>
+            من الطبيعى توقع أن المبرمجين سيستخدمون أحد الـ adapter classes أو الـ "classes التوفيقية" مثل
+            <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> أو
+            <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>,
+            لكن إن كانت بيانات الأعدادات متوفرة فى مصفوفة PHP عادية, يمكن تمرير هذه البيانات إلى
+            <code>Zend_Config</code> فى الـ constructor , و ذلك يفضل لتغليف البيانات داخل
+            واجهة كأنية.
+        </para>
+        <programlisting role="php"><![CDATA[<?php
 // Given an array of configuration data
 $configArray = array(
     'webhost' => 'www.example.com',
@@ -66,12 +45,12 @@ $myApplicationObject->databaseConnect($config->database->type,
                                       $config->database->username,
                                       $config->database->password,
                                       $config->database->name);]]></programlisting>
-	</example>
-	<para>
-		كما هو موضح فى المثال السابق ,
-		<code>Zend_Config</code>
-		توفر امكانية الوصول إلى البيانات
-		الممرة إليه بنفس الطريقة المتبعة لقرائة قيم property من أى كائن PHP عادى.
-	</para>
+    </example>
+    <para>
+        كما هو موضح فى المثال السابق , <code>Zend_Config</code> توفر امكانية الوصول إلى البيانات
+        الممرة إليه بنفس الطريقة المتبعة لقرائة قيم property من أى كائن PHP عادى.
+    </para>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 51 - 90
documentation/manual/ar/module_specs/Zend_Config-TheoryOfOperation.xml

@@ -1,93 +1,54 @@
 <sect1 id="zend.config.theory_of_operation">
-	<title>نظرية العمل</title>
-	<para>
-		يتم تمرير بيانات الأعدادات إلى
-		<code>Zend_Config</code>
-		على شكل associative array
-		و التى من الممكن ان تكون متعددة الأبعاد, و من أجل دعم تنظيم البيانات من
-		الشكل العام إلى المحدد,
-		تم توفير adapter classes أو "classes توفيقية" وظيفتها توفيق البيانات
-		المقرؤة من مصادر حفظ البيانات المتعددة
-		و تحويلها إلى associative array من أجل
-		<code>Zend_Config</code>
-		, و يمكن للمبرمج أن يوفر
-		هذه المصفوفة "array" مباشرة إلى
-		<code>Zend_Config</code>
-		بدون استخدام adapter class,
-		و هذا من الممكن ان يحدث فى بعض الحالات الخاصة.
-	</para>
-	<para>
-		يطبق
-		<code>Zend_Config</code>
-		كل من الـ interfaces المسمى
-		<code>Countable</code>
-		و
-		<code>Iterator</code>
-		ليوفر وسائل سهلة للوصل إلى البيانات,
-		حيث سيمكنك إستخدام دالة الـ PHP المسمى
-		<ulink url="http://php.net/count">
-			<code>()count</code>
-		</ulink>
-		أو إستخدام
-		<ulink url="http://php.net/foreach">
-			<code>foreach</code>
-		</ulink>
-		على كائنات
-		<code>Zend_Config</code>
-		.
-	</para>
-	<para>
-		السلوك الطبيعى لـ
-		<code>Zend_Config</code>
-		يسمح بالقرائة فقط للبيانات , و عملية تعديل لأحد
-		قيم البيانات المحفوظة به مثل
-		(
-		<code><![CDATA[$config->database->host = 'example.com']]></code>
-		)
-		يتسبب فى إلقاء exception , و يمكن تغيير هذا السلوك من خلال الـ constuctor و
-		ذلك
-		للسماح بتعديل قيم البيانات.
-		<note>
-			<title>لاحظ أن</title>
-			<para>
-				تسمح
-				<code>Zend_Config</code>
-				بعمل تغييرات فى بيانات الـ configuration التى تم تحميلها الى الذاكرة
-				,
-				و لكنها لا توفر امكانية حفظ هذه البيانات فى اى من وسائط حفظ البيانات
-				, الأدوات التى تقوم بإنشاء و تعديل بيانات الـ
-				configuration و حفظها فى وسائط حفظ بيانات هى خارج نطاق Zend_Config , لكن يوجد
-				العديد من الحلول مفتوحة
-				المصدر لإنشاء و تعديل بيانات الـ configuration و حفظها فى وسائط حفظ بيانات
-				مختلفة و يمكنك الأستعانة بأى منها.
-			</para>
-		</note>
-	</para>
-	<para>
-		الـ adapter classes يرثون من
-		<code>Zend_Config</code>
-		حيث أنهم فقط يعدلون على كيفية أدائه.
-	</para>
-	<para>
-		عائلة
-		<code>Zend_Config</code>
-		توفر أمكانية أن تكون البيانات مرتبة فى أقسام بيانات.
-		و من الممكن أن يتم تحميل الـ adapter objects مع تحديد قسم بيانات واحد,
-		أو أكثر من قسم ,
-		أو كل الأقسام (إن لم يتم تحديد قسم).
-	</para>
-	<para>
-		توفر الـ adapter classes فى
-		<code>Zend_Config</code>
-		امكانية الوراثة الأحادية بين أقسام البيانات
-		, حيث يمكن أن يرث قسم بيانات من قسم بيانات أخر.
+    <title>نظرية العمل</title>
+    <para>
+        يتم تمرير بيانات الأعدادات إلى <code>Zend_Config</code> على شكل associative array
+        و التى من الممكن ان تكون متعددة الأبعاد, و من أجل دعم تنظيم البيانات من الشكل العام إلى المحدد,
+        تم توفير adapter classes أو "classes توفيقية" وظيفتها توفيق البيانات المقرؤة من مصادر حفظ البيانات المتعددة
+        و تحويلها إلى associative array من أجل <code>Zend_Config</code>, و يمكن للمبرمج أن يوفر
+        هذه المصفوفة "array" مباشرة إلى <code>Zend_Config</code> بدون استخدام adapter class,
+        و هذا من الممكن ان يحدث فى بعض الحالات الخاصة.
+    </para>
+    <para>
+        يطبق <code>Zend_Config</code> كل من الـ interfaces المسمى
+        <code>Countable</code> و <code>Iterator</code> ليوفر وسائل سهلة للوصل إلى البيانات,
+        حيث سيمكنك إستخدام دالة الـ PHP المسمى
+        <ulink url="http://php.net/count"><code>()count</code></ulink>
+        أو إستخدام <ulink url="http://php.net/foreach"><code>foreach</code></ulink>
+        على كائنات <code>Zend_Config</code> .
+    </para>
+    <para>
+        السلوك الطبيعى لـ <code>Zend_Config</code> يسمح بالقرائة فقط للبيانات , و عملية تعديل لأحد
+        قيم البيانات المحفوظة به مثل
+        ( <code><![CDATA[$config->database->host = 'example.com']]></code>)
+        يتسبب فى إلقاء exception , و يمكن تغيير هذا السلوك من خلال الـ constuctor و ذلك
+        للسماح بتعديل قيم البيانات.
+        <note>
+            <title>لاحظ أن</title>
+            <para>
+                تسمح <code>Zend_Config</code> بعمل تغييرات فى بيانات الـ configuration التى تم تحميلها الى الذاكرة ,
+                و لكنها لا توفر امكانية حفظ هذه البيانات فى اى من وسائط حفظ البيانات , الأدوات التى تقوم بإنشاء و تعديل بيانات الـ
+                configuration     و حفظها فى وسائط حفظ بيانات هى خارج نطاق  Zend_Config , لكن يوجد العديد من الحلول مفتوحة
+                المصدر لإنشاء و تعديل بيانات الـ configuration و حفظها فى وسائط حفظ بيانات مختلفة و يمكنك الأستعانة بأى منها.
+            </para>
+        </note>
+    </para>
+    <para>
+        الـ adapter classes يرثون من <code>Zend_Config</code> حيث أنهم فقط يعدلون على كيفية أدائه.
+    </para>
+    <para>
+        عائلة <code>Zend_Config</code>  توفر أمكانية أن تكون البيانات مرتبة فى أقسام بيانات.
+        و من الممكن أن يتم تحميل الـ adapter objects مع تحديد قسم بيانات واحد, أو أكثر من قسم ,
+        أو كل الأقسام (إن لم يتم تحديد قسم).
+    </para>
+    <para>
+        توفر الـ adapter classes فى <code>Zend_Config</code> امكانية الوراثة الأحادية بين أقسام البيانات
+        , حيث يمكن أن يرث قسم بيانات من قسم بيانات أخر.
 
-		هذا تم توفيره للتقليل من الحاجة لتكرار بيانات الأعدادات فى الأقسام لأسباب
-		متعددة,
-		و القسم الذى يرث من الممكن أن يغير القيم الموروثة من القسم الأب, و الذى
-		من الممكن أن يكون ورث من
-		قسم جد (أب الأب) و هكذا , لكن الوراثة المتعددة (مثل القسم C يرث مباشرة من
-		الأقسام A و B ) غير مدعومة.
-	</para>
+        هذا تم توفيره للتقليل من الحاجة لتكرار بيانات الأعدادات فى الأقسام لأسباب متعددة,
+        و القسم الذى يرث من الممكن أن يغير القيم الموروثة من القسم الأب, و الذى من الممكن أن يكون ورث من
+        قسم جد (أب الأب) و هكذا , لكن الوراثة المتعددة (مثل القسم C يرث مباشرة من الأقسام A و B ) غير مدعومة.
+    </para>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 43 - 76
documentation/manual/ar/module_specs/Zend_Config_Ini.xml

@@ -1,73 +1,40 @@
 <sect1 id="zend.config.adapters.ini">
-	<title>Zend_Config_Ini</title>
-	<para>
-		يوفر
-		<code>Zend_Config_Ini</code>
-		للمبرمج امكانية حفظ البيانات الخاصة بإعدادات البرنامج ,
-		و ذلك بصيغة الـ INI المألوفة , ثم تمكنه من قرائه هذه البيانات داخل
-		برنامجه بيسر من خلال
-		استخدامه لنفس القواعد النحوية التى يستخمدها عند قرائته لقيمة محفوظة فى
-		property داخل كائن PHP عادى.
-	</para>
+    <title>Zend_Config_Ini</title>
+    <para>
+        يوفر <code>Zend_Config_Ini</code> للمبرمج امكانية حفظ البيانات الخاصة بإعدادات البرنامج ,
+        و ذلك بصيغة الـ INI المألوفة , ثم تمكنه من قرائه هذه البيانات داخل برنامجه بيسر من خلال
+         استخدامه لنفس القواعد النحوية التى يستخمدها عند قرائته لقيمة محفوظة فى property داخل كائن PHP عادى.
+    </para>
 
-	<para>
-		صيغة الـ INI توفر أمكانية إنشاء بيانات مرتبة على شكل هرمى و امكانية
-		التوارث بين أقسام البيانات ,
-		حفظ البيانات بشكل هرمى مدعوم حالياً عن طريق الفصل بين اسماء المفاتيح
-		"Keys" بإستخدام نقطة (
-		<code>.</code>
-		),
-		و يمكن لأى قسم من أقسام البيانات أن يرث من قسم بيانات أخر عن طريق إلحاق
-		أسم القسم بنقطة مزدوجة (
-		<code>:</code>
-		)
-		ثم إلحاقها بأسم القسم الذى سيتم الوراثة منه.
-	</para>
-	<note>
-		<title>parse_ini_file</title>
-		<para>
-			تستخدم
-			<code>Zend_Config_Ini</code>
-			دالة PHP تسمى
-			<ulink url="http://php.net/parse_ini_file">
-				<code>()parse_ini_file</code>
-			</ulink>
-			,
-			يرجى أن تقوم بمراجعة دليل المبرمج الخاص بلغة PHP لتتعرف على سلوك هذه
-			الدالة, و الذى ينطبق على
-			<code>Zend_Config_Ini</code>
-			, مثل كيف يتم التعامل مع القيم الخاصة
-			<code>true</code>
-			و
-			<code>false</code>
-			و
-			<code>yes</code>
-			و
-			<code>no</code>
-			و
-			<code>null</code>
-			.
-		</para>
-	</note>
-	<example>
-		<title>إستخدام Zend_Config_Ini</title>
-		<para>
-			هذا المثال يوضح إستخدام بسيط لـ
-			<code>Zend_Config_Ini</code>
-			لتحميل بيانات الأعدادات
-			من ملف INI , فى هذا المثال يوجد بيانات الأعدادات الخاصة بكل من مرحلة
-			الأنتاج "production"
-			و مرحلة التجهيز "staging" , و لأن بيانات الأعدادات الخاصة بمرحلة الـ
-			staging تتشابه كثيراً مع
-			تلك الخاصة بمرحلة الـ production , فتم جعل قسم بيانات الـ staging يرث من
-			قسم بيانات الـ production ,
-			ربما هذا لا ينطبق على بعض الحالات الأكثر تعقيداً و لكن دعونا نفترض أن
-			بيانات الأعدادت التالية محفوظة
-			على المسار
-			<code>path/to/config.ini/</code>
-			:
-		</para>
-		<programlisting role="ini"><![CDATA[; Production site configuration data
+    <para>
+        صيغة الـ INI  توفر أمكانية إنشاء بيانات مرتبة على شكل هرمى و امكانية التوارث بين أقسام البيانات ,
+        حفظ البيانات بشكل هرمى مدعوم حالياً عن طريق الفصل بين اسماء المفاتيح "Keys" بإستخدام نقطة (<code>.</code>),
+        و يمكن لأى قسم من أقسام البيانات أن يرث من قسم بيانات أخر عن طريق إلحاق أسم القسم بنقطة مزدوجة (<code>:</code>)
+        ثم إلحاقها بأسم القسم الذى سيتم الوراثة منه.
+    </para>
+    <note>
+        <title>parse_ini_file</title>
+        <para>
+            تستخدم <code>Zend_Config_Ini</code> دالة PHP تسمى
+            <ulink url="http://php.net/parse_ini_file"><code>()parse_ini_file</code></ulink> ,
+            يرجى أن تقوم بمراجعة دليل المبرمج الخاص بلغة PHP لتتعرف على سلوك هذه الدالة, و الذى ينطبق على
+            <code>Zend_Config_Ini</code> , مثل كيف يتم التعامل مع القيم الخاصة
+            <code>true</code> و <code>false</code> و
+            <code>yes</code> و <code>no</code> و
+            <code>null</code> .
+        </para>
+    </note>
+    <example>
+        <title>إستخدام Zend_Config_Ini</title>
+        <para>
+            هذا المثال يوضح إستخدام بسيط لـ <code>Zend_Config_Ini</code> لتحميل بيانات الأعدادات
+            من ملف INI , فى هذا المثال يوجد بيانات الأعدادات الخاصة بكل من مرحلة الأنتاج "production"
+            و مرحلة التجهيز "staging" , و لأن بيانات الأعدادات الخاصة بمرحلة الـ staging تتشابه كثيراً مع
+            تلك الخاصة بمرحلة الـ production , فتم جعل قسم بيانات الـ staging يرث من قسم بيانات الـ production ,
+            ربما هذا لا ينطبق على بعض الحالات الأكثر تعقيداً و لكن دعونا نفترض أن بيانات الأعدادت التالية محفوظة
+            على المسار <code>path/to/config.ini/</code> :
+        </para>
+        <programlisting role="ini"><![CDATA[; Production site configuration data
 [production]
 webhost           = www.example.com
 database.type     = pdo_mysql
@@ -82,19 +49,19 @@ database.name     = dbname
 database.host     = dev.example.com
 database.username = devuser
 database.password = devsecret]]></programlisting>
-		<para>
-			الأن و لنفترض أن مطور البرنامج يريد تحميل بيانات الأعدادات الخاصة بمرحلة
-			الـ staging من ملف الـ INI ,
-			بالفعل إنه من السهل تحميل هذه البيانات فقط عن طريق تحديد مسار ملف الـ INI و
-			أسم قسم البيانات staging :
+        <para>
+            الأن و لنفترض أن مطور البرنامج يريد تحميل بيانات الأعدادات الخاصة بمرحلة الـ staging من ملف الـ INI ,
+            بالفعل إنه من السهل تحميل هذه البيانات فقط عن طريق تحديد مسار ملف الـ INI و أسم قسم البيانات staging :
         </para>
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 require_once 'Zend/Config/Ini.php';
 
 $config = new Zend_Config_Ini('/path/to/config.ini', 'staging');
 
 echo $config->database->host; // prints "dev.example.com"
 echo $config->database->name; // prints "dbname"]]></programlisting>
-	</example>
+    </example>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 42 - 65
documentation/manual/ar/module_specs/Zend_Config_Xml.xml

@@ -1,62 +1,39 @@
 <sect1 id="zend.config.adapters.xml">
-	<title>Zend_Config_Xml</title>
-	<para>
-		يوفر
-		<code>Zend_Config_Xml</code>
-		للمبرمج امكانية حفظ البيانات الخاصة بإعدادات البرنامج ,
-		و ذلك بصيغة XML بسيطة , ثم تمكنه من قرائه هذه البيانات داخل برنامجه
-		بيسر من خلال
-		استخدامه لنفس القواعد النحوية التى يستخمدها عند قرائته لقيمة محفوظة فى
-		property داخل كائن PHP عادى.
-	</para>
+    <title>Zend_Config_Xml</title>
+    <para>
+       يوفر <code>Zend_Config_Xml</code> للمبرمج امكانية حفظ البيانات الخاصة بإعدادات البرنامج ,
+       و ذلك بصيغة XML بسيطة , ثم تمكنه من قرائه هذه البيانات داخل برنامجه بيسر من خلال
+        استخدامه لنفس القواعد النحوية التى يستخمدها عند قرائته لقيمة محفوظة فى property داخل كائن PHP عادى.
+    </para>
 
-	<para>
-		عنصر الجزر أو الـ "root element" الخاص بملف الـ XML يعتبر غير مهم هنا
-		و يمكن اعطائه أى أسم تريده,
-		أما المستوى الأول من عناصر الـ XML يعتبر مُحدِد لأقسام البيانات , و توفر
-		صيغة XML امكانية ترتيب البيانات
-		بشكل هرمى عن طريق عمل تداخل "nesting" بين العناصر فى المستويات أدنى مستوى
-		أقسام البيانات,
-		و سيتم اعتبار محتويات أخر عنصر فى هذا التداخل على انه القيمة "value"
-		التى سيحملها هذا العتصر الهرمى البنية,
-		أما وراثة الأقسام لبعضها فمدعومة عن طريقة خاصية "attribute" خاصة تسمى
-		<code>extends</code>
-		,
-		و يجب أن يتم تعريف قيمة هذا الـ attribute فى قسم البيانات الذى يقوم
-		بالوراثة من قسم بيانات أخر ,
-		حيث ستكون قيمة هذا الـ attribute هى أسم قسم البيانات الذى سيتم الوراثة
-		منه.
-	</para>
-	<note>
-		<title>Return type</title>
-		<para>
-			البيانات المقرؤة من خلال
-			<code>Zend_Config_Xml</code>
-			يتم اعتبارها دائما على انها من
-			النوع string , و تم ترك عملية تحويل البيانات من نوع string إلى أى نوع
-			بيانات أخر إلى المبرمجين ليتمكنوا
-			من سد أحتياجاتهم الخاصة .
-		</para>
-	</note>
-	<example>
-		<title>إستخدام Zend_Config_Xml</title>
-		<para>
-			هذا المثال يوضح إستخدام بسيط لـ
-			<code>Zend_Config_Xml</code>
-			لتحميل بيانات الأعدادات
-			من ملف INI , فى هذا المثال يوجد بيانات الأعدادات الخاصة بكل من مرحلة
-			الأنتاج "production"
-			و مرحلة التجهيز "staging" , و لأن بيانات الأعدادات الخاصة بمرحلة الـ
-			staging تتشابه كثيراً مع
-			تلك الخاصة بمرحلة الـ production , فتم جعل قسم بيانات الـ staging يرث من
-			قسم بيانات الـ production ,
-			ربما هذا لا ينطبق على بعض الحالات الأكثر تعقيداً و لكن دعونا نفترض أن
-			بيانات الأعدادت التالية محفوظة
-			على المسار
-			<code>path/to/config.ini/</code>
-			:
-		</para>
-		<programlisting role="xml"><![CDATA[<?xml version="1.0"?>
+    <para>
+        عنصر الجزر أو الـ "root element" الخاص بملف الـ XML يعتبر غير مهم هنا و يمكن اعطائه أى أسم تريده,
+        أما المستوى الأول من عناصر الـ XML يعتبر مُحدِد لأقسام البيانات , و توفر صيغة XML امكانية ترتيب البيانات
+        بشكل هرمى عن طريق عمل تداخل "nesting" بين العناصر فى المستويات أدنى مستوى أقسام البيانات,
+        و سيتم اعتبار محتويات أخر عنصر فى هذا التداخل على انه القيمة "value" التى سيحملها هذا العتصر الهرمى البنية,
+        أما وراثة الأقسام لبعضها فمدعومة عن طريقة خاصية "attribute" خاصة تسمى <code>extends</code> ,
+        و يجب أن يتم تعريف قيمة هذا الـ attribute فى قسم البيانات الذى يقوم بالوراثة من قسم بيانات أخر ,
+        حيث ستكون قيمة هذا الـ attribute هى أسم قسم البيانات الذى سيتم الوراثة منه.
+    </para>
+    <note>
+        <title>Return type</title>
+        <para>
+            البيانات المقرؤة من خلال <code>Zend_Config_Xml</code> يتم اعتبارها دائما على انها من
+            النوع string , و تم ترك عملية تحويل البيانات من نوع string إلى أى نوع بيانات أخر إلى المبرمجين ليتمكنوا
+            من سد أحتياجاتهم الخاصة .
+        </para>
+    </note>
+    <example>
+        <title>إستخدام Zend_Config_Xml</title>
+        <para>
+            هذا المثال يوضح إستخدام بسيط لـ <code>Zend_Config_Xml</code> لتحميل بيانات الأعدادات
+            من ملف INI , فى هذا المثال يوجد بيانات الأعدادات الخاصة بكل من مرحلة الأنتاج "production"
+            و مرحلة التجهيز "staging" , و لأن بيانات الأعدادات الخاصة بمرحلة الـ staging تتشابه كثيراً مع
+            تلك الخاصة بمرحلة الـ production , فتم جعل قسم بيانات الـ staging يرث من قسم بيانات الـ production ,
+            ربما هذا لا ينطبق على بعض الحالات الأكثر تعقيداً و لكن دعونا نفترض أن بيانات الأعدادت التالية محفوظة
+            على المسار <code>path/to/config.ini/</code> :
+        </para>
+        <programlisting role="xml"><![CDATA[<?xml version="1.0"?>
 <configdata>
     <production>
         <webhost>www.example.com</webhost>
@@ -76,19 +53,19 @@
         </database>
     </staging>
 </configdata>]]></programlisting>
-		<para>
-			الأن و لنفترض أن مطور البرنامج يريد تحميل بيانات الأعدادات الخاصة بمرحلة
-			الـ staging من ملف الـ XML ,
-			بالفعل إنه من السهل تحميل هذه البيانات فقط عن طريق تحديد مسار ملف الـ XML و
-			أسم قسم البيانات staging :
+        <para>
+            الأن و لنفترض أن مطور البرنامج يريد تحميل بيانات الأعدادات الخاصة بمرحلة الـ staging من ملف الـ XML ,
+            بالفعل إنه من السهل تحميل هذه البيانات فقط عن طريق تحديد مسار ملف الـ XML و أسم قسم البيانات staging :
         </para>
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 require_once 'Zend/Config/Xml.php';
 
 $config = new Zend_Config_Xml('/path/to/config.xml', 'staging');
 
 echo $config->database->host; // prints "dev.example.com"
 echo $config->database->name; // prints "dbname"]]></programlisting>
-	</example>
+    </example>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 32 - 39
documentation/manual/ar/module_specs/Zend_Filter.xml

@@ -1,26 +1,19 @@
 <sect1 id="zend.filter.filter">
-	<title>Zend_Filter</title>
+    <title>Zend_Filter</title>
 
-	<sect2 id="zend.filter.filter.introduction">
-		<title>مقدمة</title>
-		<para>
+    <sect2 id="zend.filter.filter.introduction">
+        <title>مقدمة</title>
+        <para>
 
-			توفر
-			<literal>Zend_Filter</literal>
-			مكتبة من الـ static methods لفلترة البيانات ,
-			و لفلترة البيانات المدخلة من المستخدم , يجب ان تستخدم
-			<xref linkend="zend.filter.input" />
-			بدلا منها, و ذلك لأنها توفر بيئة كاملة لفلترة البيانات المدخلة من
-			المستخدم , و لكن لأن
-			<literal>Zend_Filter_Input</literal>
-			تم تصميمه فى الأصل للـ arrays , فيمكن
-			ان يكن
-			<literal>Zend_Filter</literal>
-			مفيد عند فلترة البيانات ذات البعد الواحد (strings او اعداد),
-			لأنها تتصرف مثل الدوال المتوفرة فى لغة PHP:
+        توفر <literal>Zend_Filter</literal> مكتبة من الـ static methods لفلترة البيانات ,
+        و لفلترة البيانات المدخلة من المستخدم , يجب ان تستخدم <xref linkend="zend.filter.input" />
+        بدلا منها, و ذلك لأنها توفر بيئة كاملة لفلترة البيانات المدخلة من المستخدم , و لكن لأن
+        <literal>Zend_Filter_Input</literal> تم تصميمه فى الأصل للـ arrays , فيمكن
+        ان يكن <literal>Zend_Filter</literal> مفيد عند فلترة البيانات ذات البعد الواحد (strings او اعداد),
+        لأنها تتصرف مثل الدوال المتوفرة فى لغة PHP:
 
-		</para>
-		<programlisting>
+        </para>
+        <programlisting>
     <![CDATA[<?php
 
     $alphaUsername = Zend_Filter::getAlpha('John123Doe');
@@ -28,17 +21,15 @@
     /* $alphaUsername = 'JohnDoe'; */
 
     ?>]]>
-		</programlisting>
-	</sect2>
-	<sect2 id="zend.filter.filter.usecases">
-		<title>امثلة</title>
-		<para>
-			فى كل من الأمثة التالية ,
-			<literal>value$</literal>
-			تمثل قيمة ذات بعد واحد .
-		</para>
-		<para>Whitelist Filtering:</para>
-		<programlisting>
+        </programlisting>
+    </sect2>
+    <sect2 id="zend.filter.filter.usecases">
+        <title>امثلة</title>
+        <para>
+        فى كل من الأمثة التالية , <literal>value$</literal> تمثل قيمة ذات بعد واحد .
+        </para>
+        <para>Whitelist Filtering:</para>
+        <programlisting>
     <![CDATA[<?php
 
     if (Zend_Filter::isEmail($value)) {
@@ -48,24 +39,26 @@
     }
 
     ?>]]>
-		</programlisting>
-		<para>Blind Filtering:</para>
-		<programlisting>
+        </programlisting>
+        <para>Blind Filtering:</para>
+        <programlisting>
     <![CDATA[<?php
 
     $alphaName = Zend_Filter::getAlpha($value);
 
     ?>]]>
-		</programlisting>
-		<para>Blacklist Filtering:</para>
-		<programlisting>
+        </programlisting>
+        <para>Blacklist Filtering:</para>
+        <programlisting>
     <![CDATA[<?php
 
     $taglessComment = Zend_Filter::noTags($value);
 
     ?>]]>
-		</programlisting>
-	</sect2>
+        </programlisting>
+    </sect2>
 </sect1>
 
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 9 - 12
documentation/manual/ar/module_specs/Zend_Json-Basics.xml

@@ -1,15 +1,10 @@
 <sect1 id="zend.json.basics">
-	<title>إستخدامات بسيطة</title>
-	<para>
-		إستخدام
-		<code>Zend_Json</code>
-		يتطلب إستخدام إثنان من الـ public static methods المتوفرة :
-		<code>()Zend_Json::encode</code>
-		و
-		<code>()Zend_Json::decode</code>
-		.
-	</para>
-	<programlisting role="php"><![CDATA[<?php
+    <title>إستخدامات بسيطة</title>
+    <para>
+        إستخدام <code>Zend_Json</code> يتطلب إستخدام إثنان من الـ public static methods المتوفرة :
+        <code>()Zend_Json::encode</code> و <code>()Zend_Json::decode</code>.
+    </para>
+    <programlisting role="php"><![CDATA[<?php
 // Retrieve a value:
 $phpNative = Zend_Json::decode($encodedValue);
 
@@ -17,4 +12,6 @@ $phpNative = Zend_Json::decode($encodedValue);
 $json = Zend_Json::encode($phpNative);
 ?>]]></programlisting>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 14 - 19
documentation/manual/ar/module_specs/Zend_Json-Introduction.xml

@@ -1,22 +1,17 @@
 <sect1 id="zend.json.introduction">
-	<title>مقدمة</title>
-	<para>
-		توفر
-		<code>Zend_Json</code>
-		مجموعة من الـ methods التى تسهل عملية الـ serialization من PHP
-		إلى JSON , و عملية تحويل JSON إلى PHP عادية , و لمزيد من المعلومات عن
-		JSON :
-		<ulink url="http://www.json.org/">قم بزيارة موقع مشروع JSON</ulink>
-		.
-	</para>
-	<para>
-		JSON أو JavaScript Object Notation , يمكن إستخدامها لتبادل البيانات بين
-		لغة JavaScript
-		و اللغات الأخرى, و حيث أن JSON يمكن أن يتم فهمها مباشرة من قبل
-		JavaScript ,
-		لذلك تتميز بكفائة و خفة وزن أكبر من التى توفرها XML و ذلك فى عمليات تبادل
-		البيانات
-		مع لغة JavaScript .
+    <title>مقدمة</title>
+    <para>
+        توفر <code>Zend_Json</code> مجموعة من الـ methods التى تسهل عملية الـ serialization من PHP
+        إلى JSON , و عملية تحويل JSON إلى PHP عادية , و لمزيد من المعلومات عن JSON :
+        <ulink url="http://www.json.org/">قم بزيارة موقع مشروع JSON</ulink>.
+    </para>
+    <para>
+        JSON أو JavaScript Object Notation , يمكن إستخدامها لتبادل البيانات بين لغة JavaScript
+        و اللغات الأخرى, و حيث أن JSON يمكن أن يتم فهمها مباشرة من قبل JavaScript ,
+        لذلك تتميز بكفائة و خفة وزن أكبر من التى توفرها XML و ذلك فى عمليات تبادل البيانات
+        مع لغة JavaScript .
     </para>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 28 - 39
documentation/manual/ar/module_specs/Zend_Json-Objects.xml

@@ -1,46 +1,35 @@
 <sect1 id="zend.json.objects">
-	<title>كائنات JSON</title>
-	<para>
-		عند القيام بعملية ترميز "encoding" لكائنات فى لغة PHP لتصبح فى صيغة JSON
-		,
-		كل الـ public properties الخاصة بهذا الكائن سيتم ترميزها لتصبح كائنات
-		JSON.
+    <title>كائنات JSON</title>
+    <para>
+        عند القيام بعملية ترميز "encoding" لكائنات فى لغة PHP لتصبح فى صيغة JSON ,
+        كل الـ public properties الخاصة بهذا الكائن سيتم ترميزها لتصبح كائنات JSON.
     </para>
-	<para>
-		عملية فك ترميز "decoding" كائنات JSON تواجه بعض التحديات ,
-		لكن حيث أن كائنات JavaScript تتشابه إلى حد ما مع الـ associative arrays
-		الموجودة
-		فى لغة PHP , فتم أقتراح أن يتم تمرير معرف أسم class , ثم يتم إنشاء نسخة
-		"instance" من هذا
-		الـ class و يتم تسكينه بأزواج من الـ key/value التى تم إستنباطها من كائن
-		الـ JSON ,
-		إلا أن البعض يشعرون بأن هذا من الممكن أن يتسبب فى مخاطر امنية .
+    <para>
+        عملية فك ترميز "decoding" كائنات JSON تواجه بعض التحديات ,
+        لكن حيث أن كائنات JavaScript تتشابه إلى حد ما مع الـ associative arrays الموجودة
+        فى لغة PHP , فتم أقتراح أن يتم تمرير معرف أسم class , ثم يتم إنشاء نسخة "instance" من هذا
+        الـ class و يتم تسكينه بأزواج من الـ key/value التى تم إستنباطها من كائن الـ JSON ,
+        إلا أن البعض يشعرون بأن هذا من الممكن أن يتسبب فى مخاطر امنية .
     </para>
-	<para>
-		الإعدادات الأساسية لـ
-		<code>Zend_Json</code>
-		ستقوم بفك ترميز كائنات JSON
-		و تحويلها إلى associative arrays , و لكن إن كنت تود أن يتم إرجاع كائن ,
-		فيمكنك أن تحدد التالى :
-	</para>
-	<programlisting role="php"><![CDATA[<?php
+    <para>
+        الإعدادات الأساسية لـ <code>Zend_Json</code> ستقوم بفك ترميز كائنات JSON
+        و تحويلها إلى associative arrays , و لكن إن كنت تود أن يتم إرجاع كائن ,
+        فيمكنك أن تحدد التالى :
+    </para>
+    <programlisting role="php"><![CDATA[<?php
 // Decode objects as objects
 $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);
 ?>]]></programlisting>
-	<para>
-		أى كائنات سيتم فك ترميزها , سيتم إرجاعها على أنها كائنات من
-		<code>StdClass</code>
-		مع properties تتطابق مع قيم أزواج الـ key/value المستخلصة من صيغة الـ
-		JSON.
-	</para>
-	<para>
-		نصيحة إطار عمل Zend هى أن يقوم كل مبرمج بتحديد كيف سيقوم بفك ترميز
-		كائنات JSON ,
-		إن كان يجب أن يتم إنشاء كائن JSON من نوع محدد, فيمكن أن يتم إنشائه من
-		خلال أكواد المبرمج
-		الخاصة ثم يتم تسكينه بالقيم التى تم فك ترميزها بإستخدام
-		<code>Zend_Json</code>
-		.
-	</para>
+    <para>
+        أى كائنات سيتم فك ترميزها , سيتم إرجاعها على أنها كائنات من <code>StdClass</code>
+        مع properties تتطابق مع قيم أزواج الـ key/value المستخلصة من صيغة الـ JSON.
+    </para>
+    <para>
+        نصيحة إطار عمل Zend هى أن يقوم كل مبرمج بتحديد كيف سيقوم بفك ترميز كائنات JSON ,
+        إن كان يجب أن يتم إنشاء كائن JSON من نوع محدد, فيمكن أن يتم إنشائه من خلال أكواد المبرمج
+        الخاصة ثم يتم تسكينه بالقيم التى تم فك ترميزها بإستخدام <code>Zend_Json</code>.
+    </para>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 21 - 31
documentation/manual/ar/module_specs/Zend_Service.xml

@@ -1,35 +1,25 @@
 <sect1 id="zend.service.introduction">
-	<title>مقدمة</title>
-	<para>
-		<code>Zend_Service</code>
-		عبارة عن abstract class و الذى بدوره يصبح
-		اساس لكل تطبيقات الـ web services (مثل XML-RPC ).
-	</para>
-	<para>
-		توفر
-		<code>Zend_Service</code>
-		دعم لأى web service تعتمد على REST من خلال
-		<link linkend="zend.service.rest">
-			<code>Zend_Service_Rest</code>
-		</link>
-		.
-	</para>
-	<para>
-		بالإضافة إلى امكانية الوراثة من
-		<code>Zend_Service</code>
-		و إستخدام
-		<code>Zend_Service_Rest</code>
-		للـ web services التى تعتمد على REST , توفر
-		ZF توفر دعم ايضا لـ web services مشهورة مثل :
+    <title>مقدمة</title>
+    <para>
+        <code>Zend_Service</code> عبارة عن abstract class و الذى بدوره يصبح
+        اساس لكل تطبيقات الـ web services (مثل XML-RPC ).
+    </para>
+    <para>
+        توفر <code>Zend_Service</code> دعم لأى web service تعتمد على REST من خلال
+        <link linkend="zend.service.rest"><code>Zend_Service_Rest</code></link>.
+    </para>
+    <para>
+        بالإضافة إلى امكانية الوراثة من <code>Zend_Service</code> و إستخدام
+        <code>Zend_Service_Rest</code> للـ web services التى تعتمد على REST , توفر
+        ZF توفر دعم ايضا لـ web services مشهورة مثل :
 
-		<link linkend="zend.service.amazon">Amazon</link>
-		,
-		<link linkend="zend.service.flickr">Flickr</link>
-		, و
-		<link linkend="zend.service.yahoo">Yahoo!</link>
-		.
-		و ربما سيتم اضافة المزيد فى المستقبل.
-	</para>
+        <link linkend="zend.service.amazon">Amazon</link>,
+        <link linkend="zend.service.flickr">Flickr</link>, و
+        <link linkend="zend.service.yahoo">Yahoo!</link>.
+        و ربما سيتم اضافة المزيد فى المستقبل.
+    </para>
 </sect1>
 
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 69 - 86
documentation/manual/ar/module_specs/Zend_View-Controllers.xml

@@ -1,48 +1,41 @@
 <sect1 id="zend.view.controllers">
-	<title>جزء الـ Controller</title>
+    <title>جزء الـ Controller</title>
 
-	<para>
-		الـ controller هو حيث يتم إنشاء نسخة من Zend_View و إعدادها , أنت بعد ذلك
-		تقم
-		بإنشاء متغيرات جديدة فيها و إعطائها قيم ليتم إستخدامها فى الـ view ,
-		ثم تقوم بالأمر بأن يتم معاجلة الـ view و إنتاج الخرج الذى سيتم عرضه.
+    <para>
+        الـ controller هو حيث يتم إنشاء نسخة من Zend_View و إعدادها , أنت بعد ذلك تقم
+        بإنشاء متغيرات جديدة فيها و إعطائها قيم ليتم إستخدامها فى الـ view ,
+        ثم تقوم بالأمر بأن يتم معاجلة الـ view و إنتاج الخرج الذى سيتم عرضه.
     </para>
 
-	<sect2 id="zend.view.controllers.assign">
+    <sect2 id="zend.view.controllers.assign">
 
-		<title>إنشاء متغيرات و إعطائها قيم</title>
+        <title>إنشاء متغيرات و إعطائها قيم</title>
 
-		<para>
-			يجب أن يقوم الـ controller خاصتك بإنشاء المتغيرات التى يحتاج إليها فى
-			الـ view و تمريرها له
-			قبل أن يقوم بنقل التحكم إلى الكود الخاص بالـ view , بشكل طبيعى يمكنك
-			إضافة متغيرات إلى
-			الـ view عن طريق الـ properties الخاصة بالنسخة التى أنشئتها من Zend_View
-			:
+        <para>
+            يجب أن يقوم الـ controller خاصتك بإنشاء المتغيرات التى يحتاج إليها فى الـ view و تمريرها له
+            قبل أن يقوم بنقل التحكم إلى الكود الخاص بالـ view , بشكل طبيعى يمكنك إضافة متغيرات إلى
+            الـ view عن طريق الـ properties الخاصة بالنسخة التى أنشئتها من Zend_View :
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 $view = new Zend_View();
 $view->a = "Hay";
 $view->b = "Bee";
 $view->c = "Sea";
 ?>]]>
-		</programlisting>
+        </programlisting>
 
-		<para>
-			لكن ربما هذا سيكون مزعج فى حالة أنك قد قمت مسبقاً بجمع كل القيم التى
-			تريد تمريرها فى مصفوفة
-			أو فى كائن.
+        <para>
+            لكن ربما هذا سيكون مزعج فى حالة أنك قد قمت مسبقاً بجمع كل القيم التى تريد تمريرها فى مصفوفة
+            أو فى كائن.
         </para>
 
-		<para>
-			الـ method المسمى ()assign يسمح لك بإنشاء متغيرات من مصفوفة أو كائن
-			(بشكل مفكك) ,
-			المثال التالى لديه نفس التأثير الذى تقوم به عملية إنشاء المتغيرات واحد-واحد
-			.
+        <para>
+            الـ method المسمى ()assign يسمح لك بإنشاء متغيرات من مصفوفة أو كائن (بشكل مفكك)  ,
+            المثال التالى لديه نفس التأثير الذى تقوم به عملية إنشاء المتغيرات واحد-واحد .
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 $view = new Zend_View();
 
 // assign an array of key-value pairs, where the
@@ -63,97 +56,85 @@ $obj->b = "Bee";
 $obj->c = "Sea";
 $view->assign((array) $obj);
 ?>]]>
-		</programlisting>
-
-		<para>
-			أيضاً, يمكنك ان تستخدم الـ method المسمى assign لإنشاء متغيرت بطريقة
-			واحد-واحد ,
-			و ذلك عن طريق تمرير اسم المتغير الذى تريد إنشائه كـ string , ثم فى
-			البراميتر الثانى
-			مرر قيمة المتغير .
+        </programlisting>
+
+        <para>
+        أيضاً, يمكنك ان تستخدم الـ method المسمى assign لإنشاء متغيرت بطريقة واحد-واحد ,
+        و ذلك عن طريق تمرير اسم المتغير الذى تريد إنشائه كـ string , ثم فى البراميتر الثانى
+        مرر قيمة المتغير .
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 $view = new Zend_View();
 $view->assign('a', "Hay");
 $view->assign('b', "Bee");
 $view->assign('c', "Sea");
 ?>]]>
-		</programlisting>
+        </programlisting>
 
-	</sect2>
+    </sect2>
 
-	<sect2 id="zend.view.controllers.render">
+    <sect2 id="zend.view.controllers.render">
 
-		<title>معالجة(تصيير) جزء الـ View</title>
+        <title>معالجة(تصيير) جزء الـ View</title>
 
-		<para>
-			بمجرد إنتهائك من عملية إنساب المتغيرات التى تحتاجها فى الـ view , يجب أن
-			يقوم الـ controller
-			بأمر Zend_View أن يقوم بمعالجة view محدد , يمكن القيام بهذا عن طريق
-			إستدعاء الـ method
-			المسمى ()render , لاحظ أن هذا الـ method سيقوم بإرجاع الـ view بعد معالجته
-			و لن يقوم بطباعته,
-			لذلك أنت تحتاج لطباعته بنفسك فى الوقت الذى يناسبك.
+        <para>
+            بمجرد إنتهائك من عملية إنساب المتغيرات التى تحتاجها فى الـ view , يجب أن يقوم الـ controller
+            بأمر Zend_View أن يقوم بمعالجة view محدد , يمكن القيام بهذا عن طريق إستدعاء الـ method
+            المسمى ()render , لاحظ أن هذا الـ method سيقوم بإرجاع الـ view بعد معالجته و لن يقوم بطباعته,
+            لذلك أنت تحتاج لطباعته بنفسك فى الوقت الذى يناسبك.
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 $view = new Zend_View();
 $view->a = "Hay";
 $view->b = "Bee";
 $view->c = "Sea";
 echo $view->render('someView.php');
 ?>]]>
-		</programlisting>
+        </programlisting>
 
-	</sect2>
+    </sect2>
 
-	<sect2 id="zend.view.controllers.script-paths">
+    <sect2 id="zend.view.controllers.script-paths">
 
-		<title>مسارات أجزاء الـ View</title>
+        <title>مسارات أجزاء الـ View</title>
 
-		<para>
-			الأعدادات الأساسية لـ Zend_View تعتبر أن الملفات التى تحتوى أجزاء الـ view
-			خاصتك
-			تتواجد فى مسارات لها علاقة "relative" مع مكان تواجد الكود الذى يستدعيها,
-			على سبيل المثال : إن كان الـ controller خاصتك موجود فى
-			"path/to/app/controllers/"
-			و هو يقوم بإستدعاء ('view->render('someView.php$ , سيقوم Zend_View
-			بالبحث فى المسار "path/to/app/controllers/someView.php/".
+        <para>
+            الأعدادات الأساسية لـ Zend_View تعتبر أن الملفات التى تحتوى أجزاء الـ view خاصتك
+            تتواجد فى مسارات لها علاقة "relative" مع مكان تواجد الكود الذى يستدعيها,
+            على سبيل المثال : إن كان الـ controller خاصتك موجود فى "path/to/app/controllers/"
+            و هو يقوم بإستدعاء ('view->render('someView.php$ , سيقوم Zend_View
+            بالبحث فى المسار "path/to/app/controllers/someView.php/".
         </para>
 
-		<para>
-			من الطبيعى أن تكون ملفات الـ view خاصتك محفوظة فى مسار أخر ,
-			لكى تخبر Zend_View أين يجب عليه أن يبحث عن ملفات الـ view ,
-			يمكنك إستخدام الـ method المسمى ()setScriptPath .
+        <para>
+            من الطبيعى أن تكون ملفات الـ view خاصتك محفوظة فى مسار أخر ,
+            لكى تخبر Zend_View أين يجب عليه أن يبحث عن ملفات الـ view ,
+            يمكنك إستخدام الـ method المسمى ()setScriptPath .
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 $view = new Zend_View();
 $view->setScriptPath('/path/to/app/views');
 ?>]]>
-		</programlisting>
+        </programlisting>
 
-		<para>
-			الأن عندما ستقوم بإستدعاء ('view->render('someView.php$ ,
-			سيتم البحث فى المسار "path/to/app/views/someView.php/".
+        <para>
+            الأن عندما ستقوم بإستدعاء ('view->render('someView.php$ ,
+            سيتم البحث فى المسار "path/to/app/views/someView.php/".
         </para>
 
-		<para>
-			فى الحقيقة, يمكنك عمل مرصوصة من المسارات بإستخدام الـ method المسمى
-			()addScriptPath ,
-			كلما قمت بإضافة مسار جديد إلى المرصوصة , سيقوم Zend_View بالبحث فى
-			المسارات التى تم إضافتها
-			إلى المرصوصة من أخر واحد تم إضافته إلى المرصوصة صعوداً إلى أول من تم
-			إضافته
-			لجلب جزء الـ view المراد معالجته, هذا يسمح لك بأن تقوم بالتغطية على الـ
-			views
-			الأساسية و إستخدام views أخرى , و هذا سيسمح لك بأن تقوم بإنشاء themes أو
-			skins خاصة لبعض
-			الـ views , مع أمكانية ترك views أخرى بدون.
+        <para>
+            فى الحقيقة, يمكنك عمل مرصوصة من المسارات بإستخدام الـ method المسمى ()addScriptPath ,
+            كلما قمت بإضافة مسار جديد إلى المرصوصة , سيقوم Zend_View بالبحث فى المسارات التى تم إضافتها
+            إلى المرصوصة من أخر واحد تم إضافته إلى المرصوصة صعوداً إلى أول من تم إضافته
+             لجلب جزء الـ view المراد معالجته, هذا يسمح لك بأن تقوم بالتغطية على الـ views
+            الأساسية و إستخدام views أخرى , و هذا سيسمح لك بأن تقوم بإنشاء themes أو skins خاصة لبعض
+            الـ views , مع أمكانية ترك views أخرى بدون.
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 $view = new Zend_View();
 $view->addScriptPath('/path/to/app/views');
 $view->addScriptPath('/path/to/custom/');
@@ -163,9 +144,11 @@ $view->addScriptPath('/path/to/custom/');
 // "/path/to/app/views/booklist.php", and finally in the current
 // directory for "booklist.php".
 ?>]]>
-		</programlisting>
+        </programlisting>
 
-	</sect2>
+    </sect2>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 62 - 75
documentation/manual/ar/module_specs/Zend_View-Scripts.xml

@@ -1,31 +1,26 @@
 <sect1 id="zend.view.scripts">
 
-	<title>جزء الـ View</title>
-
-	<para>
-		بمجرد إنتهاء الـ controller خاصتك من عملية نَسب المتغيرات إلى نسخة
-		Zend_View
-		و إستدعاء ()render , يقوم Zend_View بجلب محتويات ملف الـ view و ينفذها
-		داخل
-		المدى "scope" الخاص بنسخة الـ Zend_View , لذلك داخل أكواد الـ view خاصتك
-		تكون this$ تشير إلى نسخة الـ Zend_View نفسها .
+    <title>جزء الـ View</title>
+
+    <para>
+        بمجرد إنتهاء الـ controller خاصتك من عملية نَسب المتغيرات إلى نسخة Zend_View
+        و إستدعاء ()render , يقوم Zend_View بجلب محتويات ملف الـ view و ينفذها داخل
+        المدى "scope" الخاص بنسخة الـ Zend_View , لذلك داخل أكواد الـ view خاصتك
+        تكون this$ تشير إلى نسخة الـ Zend_View نفسها .
     </para>
 
-	<para>
-		المتغيرات التى تم نسبها إلى الـ view من قبل الـ controller يتم الإشارة إليها
-		على انها instance properties
-		(أى properties تنتمى للنسخة فقط) , على سبيل المثال : إن قام الـ
-		controller بنسب متغير بأسم
-		'something' , يمكنك الأشار إليه داخل كود الـ view كـ this->something$ ,
-		(هذا يسمح لك بمعرفة أى المتغيرات تم نسبها إلى النسخة و أى المتغيرات داخلية
-		فى كود الـ view نفسه).
+    <para>
+        المتغيرات التى تم نسبها إلى الـ view من قبل الـ controller يتم الإشارة إليها على انها instance properties
+        (أى properties تنتمى للنسخة فقط) , على سبيل المثال : إن قام الـ controller بنسب متغير بأسم
+        'something' , يمكنك الأشار إليه داخل كود الـ view كـ this->something$ ,
+        (هذا يسمح لك بمعرفة أى المتغيرات تم نسبها إلى النسخة و أى المتغيرات داخلية فى كود الـ view نفسه).
     </para>
 
-	<para>
-		لنتذكر من جديد, ها هو مثال كود الـ view من فصل "مقدمة الـ Zend_view" .
+    <para>
+        لنتذكر من جديد, ها هو مثال كود الـ view من فصل "مقدمة الـ Zend_view" .
     </para>
 
-	<programlisting role="php"><![CDATA[<?php if ($this->books): ?>
+    <programlisting role="php"><![CDATA[<?php if ($this->books): ?>
 
     <!-- A table of some books. -->
     <table>
@@ -48,51 +43,42 @@
     <p>There are no books to display.</p>
 
 <?php endif; ?>]]>
-	</programlisting>
-
-	<sect2 id="zend.view.scripts.escaping">
-
-		<title>تجاهل "escaping" المخرجات</title>
-
-		<para>
-			واحدة من أهم المهام التى يجب تنفيذها فى كود الـ view هى أن تتأكد من أن
-			المخرجات قد تم
-			عمل تجاهل لها أو escaping دائماً , و هذا أهم من أشياء كثيرة أخرى , هذا
-			يساعد فى تجنب
-			هجمات الـ cross-site scripting , فإن لم تكن تستخدم دالة أو method أو مساعد
-			"helper"
-			يقوم بعملية التجاهل "escaping" بنفسه , فيجب عليك أنت أن تقوم بعمل تجاهل
-			لمحتويات متغيراتك
-			قبل إخراجهم دائماً .
+    </programlisting>
+
+    <sect2 id="zend.view.scripts.escaping">
+
+        <title>تجاهل "escaping" المخرجات</title>
+
+        <para>
+            واحدة من أهم المهام التى يجب تنفيذها فى كود الـ view هى أن تتأكد من أن المخرجات قد تم
+            عمل تجاهل لها أو escaping دائماً , و هذا أهم من أشياء كثيرة أخرى , هذا يساعد فى تجنب
+            هجمات الـ cross-site scripting , فإن لم تكن تستخدم دالة أو method أو مساعد "helper"
+            يقوم بعملية التجاهل "escaping" بنفسه , فيجب عليك أنت أن تقوم بعمل تجاهل لمحتويات متغيراتك
+            قبل إخراجهم دائماً .
         </para>
 
-		<para>
-			Zend_View يأتى مع method يسمى ()escape و هو الذى يقوم لك بعملية التجاهل
-			للمخرجات.
+        <para>
+            Zend_View يأتى مع method يسمى ()escape و هو الذى يقوم لك بعملية التجاهل للمخرجات.
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 // bad view-script practice:
 echo $this->variable;
 
 // good view-script practice:
 echo $this->escape($this->variable);
 ?>]]>
-		</programlisting>
-
-		<para>
-			الأعدادات الأساسية للـ method المسمى ()escape هى أن يعتمد على دالة لغة PHP
-			المسمى
-			()htmlspecialchars لعمل تجاهل , لكن إعتماداً على بيئة عمل تطبيقك , ربما تود أن تتم
-			عملية
-			التجاهل للمخرجات بطريقة أخرى , إستخدم الـ method المسمى ()setEscape و أنت فى
-			مستوى
-			الـ controller لتخبر Zend_View عن ما الذى يجب إستدعائه (callback) عند
-			تنفيذ عملية
-			تجاهل المخرجات.
+        </programlisting>
+
+        <para>
+            الأعدادات الأساسية للـ method المسمى ()escape هى أن يعتمد على دالة لغة PHP المسمى
+            ()htmlspecialchars لعمل تجاهل , لكن إعتماداً على بيئة عمل تطبيقك , ربما تود أن تتم عملية
+            التجاهل للمخرجات بطريقة أخرى , إستخدم الـ method المسمى ()setEscape و أنت فى مستوى
+            الـ controller لتخبر Zend_View عن ما الذى يجب إستدعائه (callback) عند تنفيذ عملية
+             تجاهل المخرجات.
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 // create a Zend_View instance
 $view = new Zend_View();
 
@@ -109,29 +95,28 @@ $view->setEscape(array($obj, 'methodName'));
 // and then render your view
 echo $view->render(...);
 ?>]]>
-		</programlisting>
+        </programlisting>
 
-		<para>
-			الدالة أو الـ method الذى سيتم عمل callback له يجب أن يستلم القيمة التى
-			سيقوم بتجاهلها
-			فى البراميتر الأول , و كل البراميترات الأخرى يجب أن تكون أختيارية.
+        <para>
+            الدالة أو الـ method الذى سيتم عمل callback له يجب أن يستلم القيمة التى سيقوم بتجاهلها
+            فى البراميتر الأول , و كل البراميترات الأخرى يجب أن تكون أختيارية.
         </para>
 
-	</sect2>
+    </sect2>
 
-	<sect2 id="zend.view.scripts.templates">
+    <sect2 id="zend.view.scripts.templates">
 
-		<title>أنظمة القوالب</title>
+        <title>أنظمة القوالب</title>
 
-		<para>
-			أيضاً لغة PHP نفسها عبارة عن نظام قوالب قوى, لكن بعض المطورين يرى
-			أنها قوية جدا أو معقدة بالنسبة إلى المصممين الذين سيستخدمون القوالب.
-			لذلك , كود الـ view من الممكن إستخدامه لإنشاء نسخ أو معالجة
-			كائنات قوالب منفصلة , مثل قوالب PHPLIB-style , كود الـ view
-			لهذا النوع من النشاطات من الممكن أن بيدو مثل هذا :
+        <para>
+            أيضاً لغة PHP نفسها عبارة عن نظام قوالب قوى, لكن بعض المطورين يرى
+            أنها قوية جدا أو معقدة بالنسبة إلى المصممين الذين سيستخدمون القوالب.
+            لذلك , كود الـ view من الممكن إستخدامه لإنشاء نسخ أو معالجة
+            كائنات قوالب منفصلة , مثل قوالب PHPLIB-style , كود الـ view
+            لهذا النوع من النشاطات من الممكن أن بيدو مثل هذا :
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 include_once 'template.inc';
 $tpl = new Template();
 
@@ -153,13 +138,13 @@ if ($this->books) {
     $tpl->pparse("output", "nobooks");
 }
 ?>]]>
-		</programlisting>
+        </programlisting>
 
-		<para>
-			و هذه هى الملفات الأخرى ذات الصلة المفروض وجودها :
+        <para>
+            و هذه هى الملفات الأخرى ذات الصلة المفروض وجودها :
         </para>
 
-		<programlisting role="html"><![CDATA[
+        <programlisting role="html"><![CDATA[
 <!-- booklist.tpl -->
 <table>
     <tr>
@@ -178,9 +163,11 @@ if ($this->books) {
 <!-- nobooks.tpl -->
 <p>There are no books to display.</p>
 ]]>
-		</programlisting>
+        </programlisting>
 
-	</sect2>
+    </sect2>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 16 - 21
documentation/manual/ar/module_specs/Zend_XmlRpc.xml

@@ -1,24 +1,19 @@
 <sect1 id="zend.xmlrpc.introduction">
-	<title>مقدمة</title>
-	<para>
-		XML-RPC عبارة عن " نظام لتنفيذ المهام عن بعد بإستخدام HTTP كوسيلة لنقل
-		البيانات و بإستخدام XML
-		كهيئة نقل بيانات , تم تصميم XML-RPC لتكون بسيطة قدر الأمكان, مع امكانية نقل
-		و معالجة و ارجاع اى شكل
-		من اشكال البيانات المعقدة " .
-		(
-		<ulink url="http://www.xmlrpc.com/">موقع XML-RPC</ulink>
-		)
-	</para>
-	<para>
-		الأسلوب الذى قامت ZF بطتبيقه لإنشاء الـ client الخاص بـ XML-RPC (و فى
-		المستقبل سيتوافر XML-RPC server)
-		يجعل استخدام XML-RPC اسهل بشكل كبير, عن طريق محاولة جعل طريقة استخدامها
-		مشابهة لطريقة استخدام
-		للـ extension الخاصة بـ PHP5 المسمى
-		<ulink url="http://www.php.net/soap">SOAP web service</ulink>
-		.
-	</para>
+    <title>مقدمة</title>
+    <para>
+        XML-RPC عبارة عن " نظام لتنفيذ المهام عن بعد بإستخدام HTTP كوسيلة لنقل البيانات و بإستخدام XML
+        كهيئة نقل بيانات , تم تصميم XML-RPC لتكون بسيطة قدر الأمكان, مع امكانية نقل و معالجة و ارجاع اى شكل
+        من اشكال البيانات المعقدة " .
+        (<ulink url="http://www.xmlrpc.com/">موقع XML-RPC</ulink>)
+    </para>
+    <para>
+        الأسلوب الذى قامت ZF بطتبيقه لإنشاء الـ client الخاص بـ XML-RPC (و فى المستقبل سيتوافر XML-RPC server)
+        يجعل استخدام XML-RPC اسهل بشكل كبير, عن طريق محاولة جعل طريقة استخدامها مشابهة لطريقة استخدام
+        للـ extension الخاصة بـ PHP5 المسمى
+        <ulink url="http://www.php.net/soap">SOAP web service</ulink>.
+    </para>
 </sect1>
 
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 10 - 11
documentation/manual/ar/ref/copyrights.xml

@@ -1,17 +1,16 @@
 <appendix id="copyrights">
-	<title>معلومات حقوق الملكية</title>
+    <title>معلومات حقوق الملكية</title>
 
-	<para>
-		The following copyrights are applicable to portions of Zend Framework.
+    <para>
+        The following copyrights are applicable to portions of Zend Framework.
     </para>
 
-	<para>
-		حقوق الملكية &#169; 2005-<?dbtimestamp format="Y"?>
-		Zend Technologies Inc.
-		(
-		<ulink url="http://www.zend.com" />
-		)
-	</para>
+    <para>
+        حقوق الملكية &#169; 2005-<?dbtimestamp format="Y"?> Zend Technologies Inc.
+        (<ulink url="http://www.zend.com" />)
+    </para>
 
 </appendix>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 1 - 1
documentation/manual/ar/ref/language-snippets.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 
 <!-- links -->
 <!ENTITY lang                                   'ar'>

+ 43 - 46
documentation/manual/bg/html/dbstyle.css

@@ -1,82 +1,79 @@
 body {
-	font-family: Tahoma, Arial, sans-serif;
+    font-family: Tahoma, Arial, sans-serif;
 }
 
-h1,h2,h3,h4,h5 {
-	font-family: Arial, serif;
+h1, h2, h3, h4, h5 {
+    font-family: Arial, serif;
 }
 
 h2 {
-	font-size: 1.3em;
+    font-size: 1.3em;
 }
 
-h3,h4,h5 {
-	font-size: 1em;
-	margin: 0.2em;
+h3, h4, h5 {
+    font-size: 1em;
+    margin: 0.2em;
 }
 
-div.note,div.warning,div.tip {
-	margin-left: 0.3in;
-	margin-right: 0.5in;
-	border: solid 1px blue;
-	background-color: #e0e0e0;
-	padding: 0.1in;
+div.note, div.warning, div.tip {
+    margin-left: 0.3in;
+    margin-right: 0.5in;
+    border: solid 1px blue;
+    background-color: #e0e0e0;
+    padding: 0.1in;
 }
 
-div.note img,div.warning img,div.tip img {
-	margin-right: 0.1in;
-	border: solid 1px blue;
+div.note img, div.warning img, div.tip img {
+    margin-right: 0.1in;
+    border: solid 1px blue;
 }
 
 pre.programlisting {
-	border: solid 1px #444;
-	background-color: #e0e0e0;
-	padding: 0.1in;
-	margin: 0.2in;
-	clear: right;
+    border: solid 1px #444;
+    background-color: #e0e0e0;
+    padding: 0.1in;
+    margin: 0.2in;
+    clear: right;
 }
 
 pre.screen {
-	border: solid 1px #777;
-	background-color: #ddd;
-	padding: 0.1in;
-	margin: 0.2in;
-	clear: right;
+    border: solid 1px #777;
+    background-color: #ddd;
+    padding: 0.1in;
+    margin: 0.2in;
+    clear: right;
 }
 
 div.variablelist dl dt span.term {
-	font-weight: bold;
+    font-weight: bold;
 }
 
-hr {
-	display: none;
-}
+hr { display: none; }
 
 div.navheader {
-	padding-bottom: 0.1in;
-	border-bottom: solid 1px black;
-	border-color: #aaa;
+    padding-bottom: 0.1in;
+    border-bottom: solid 1px black;
+    border-color: #aaa;
 }
-
 div.navfooter {
-	margin-top: 0.1in;
-	border-top: solid 1px black;
-	border-color: #aaa;
-	padding-top: 0.1in;
+    margin-top: 0.1in;
+    border-top: solid 1px black;
+    border-color: #aaa;
+    padding-top: 0.1in;
 }
 
 div.figure-float {
-	float: right;
-	margin-left: 2em;
-	margin-bottom: 2em;
+    float: right;
+    margin-left: 2em;
+    margin-bottom: 2em;
 }
 
 div.revinfo {
-	text-align: center;
-	font-size: 0.7em;
-	font-style: italic;
+    text-align: center;
+    font-size: 0.7em;
+    font-style: italic;
 }
 
 code.code {
-	font-family: "Lucida Console", monospace;
-}
+    font-family: "Lucida Console", monospace;
+}

+ 62 - 94
documentation/manual/bg/module_specs/Zend_Acl-Advanced.xml

@@ -1,68 +1,49 @@
 <sect1 id="zend.acl.advanced">
 
-	<title>По - слжони неща</title>
+    <title>По - слжони неща</title>
 
-	<sect2 id="zend.acl.advanced.storing">
+    <sect2 id="zend.acl.advanced.storing">
 
-		<title>Съхраняване на ACL информация за заазване на състоянието</title>
+        <title>Съхраняване на ACL информация за заазване на състоянието</title>
 
-		<para>
+        <para>
 
-			Zend_Acl was designed in such a way that it does not require any particular
-			backend technology such
-			as a database or cache server for storage of the ACL data. Its complete
-			PHP implementation enables
-			customized administration tools to be built upon Zend_Acl with relative ease
-			and flexibility. Many
-			situations require some form of interactive maintenance of the ACL, and
-			Zend_Acl provides methods
-			setting up, and querying against, the access controls of an application.
+        Zend_Acl was designed in such a way that it does not require any particular backend technology such
+        as a database or cache server for storage of the ACL data. Its complete PHP implementation enables
+        customized administration tools to be built upon Zend_Acl with relative ease and flexibility. Many
+        situations require some form of interactive maintenance of the ACL, and Zend_Acl provides methods
+        setting up, and querying against, the access controls of an application.
         </para>
 
-		<para>
-			Storage of ACL data is therefore left as a task for the developer,
-			since use cases are expected to
-			vary widely for various situations. Because Zend_Acl is serializable, ACL
-			objects may be serialized
-			with PHP's
-			<ulink url="http://php.net/serialize">
-				<code>serialize()</code>
-			</ulink>
-			function, and the
-			results may be stored anywhere the developer should desire, such as a file,
-			database, or caching
-			mechanism.
-		</para>
-
-	</sect2>
-
-	<sect2 id="zend.acl.advanced.assertions">
-
-		<title>Writing Conditional ACL Rules with Assertions</title>
-
-		<para>
-			Sometimes a rule for allowing or denying an Role access to a Resource should
-			not be absolute but dependent
-			upon various criteria. For example, suppose that certain access should be
-			allowed, but only between the
-			hours of 8:00am and 5:00pm. Another example would be denying access
-			because a request comes from an
-			IP address that has been flagged as a source of abuse. Zend_Acl has
-			built-in support for implementing
-			rules based on whatever conditions the developer needs.
+        <para>
+        Storage of ACL data is therefore left as a task for the developer, since use cases are expected to
+        vary widely for various situations. Because Zend_Acl is serializable, ACL objects may be serialized
+        with PHP's <ulink url="http://php.net/serialize"><code>serialize()</code></ulink> function, and the
+        results may be stored anywhere the developer should desire, such as a file, database, or caching
+        mechanism.
         </para>
 
-		<para>
-			Zend_Acl provides support for conditional rules with
-			<code>Zend_Acl_Assert_Interface</code>
-			. In order
-			to use the rule assertion interface, a developer writes a class that
-			implements the
-			<code>assert()</code>
-			method of the interface:
-		</para>
-
-		<programlisting role="php"><![CDATA[<?php
+    </sect2>
+
+    <sect2 id="zend.acl.advanced.assertions">
+
+        <title>Writing Conditional ACL Rules with Assertions</title>
+
+        <para>
+        Sometimes a rule for allowing or denying an Role access to a Resource should not be absolute but dependent
+        upon various criteria. For example, suppose that certain access should be allowed, but only between the
+        hours of 8:00am and 5:00pm. Another example would be denying access because a request comes from an
+        IP address that has been flagged as a source of abuse. Zend_Acl has built-in support for implementing
+        rules based on whatever conditions the developer needs.
+        </para>
+
+        <para>
+        Zend_Acl provides support for conditional rules with <code>Zend_Acl_Assert_Interface</code>. In order
+        to use the rule assertion interface, a developer writes a class that implements the
+        <code>assert()</code> method of the interface:
+        </para>
+
+        <programlisting role="php"><![CDATA[<?php
 require_once 'Zend/Acl/Assert/Interface.php';
 
 class CleanIPAssertion implements Zend_Acl_Assert_Interface
@@ -78,53 +59,40 @@ class CleanIPAssertion implements Zend_Acl_Assert_Interface
         // ...
     }
 }]]>
-		</programlisting>
-
-		<para>
-			Once an assertion class is available, the developer must supply an
-			instance of the assertion class
-			when assigning conditional rules. A rule that is created with an
-			assertion only applies when the
-			assertion method returns true.
+        </programlisting>
+
+        <para>
+        Once an assertion class is available, the developer must supply an instance of the assertion class
+        when assigning conditional rules. A rule that is created with an assertion only applies when the
+        assertion method returns true.
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 require_once 'Zend/Acl.php';
 
 $acl = new Zend_Acl();
 $acl->allow(null, null, null, new CleanIPAssertion());]]>
-		</programlisting>
-
-		<para>
-			The above code creates a conditional allow rule that allows access to
-			all privileges on everything
-			by everyone, except when the requesting IP is "blacklisted." If a
-			request comes in from an IP that
-			is not considered "clean," then the allow rule does not apply. Since
-			the rule applies to all Roles,
-			all Resources, and all privileges, an "unclean" IP would result in a
-			denial of access. This is a special
-			case, however, and it should be understood that in all other cases (i.e.,
-			where a specific Role,
-			Resource, or privilege is specified for the rule), a failed assertion results
-			in the rule not applying,
-			and other rules would be used to determine whether access is allowed or
-			denied.
+        </programlisting>
+
+        <para>
+        The above code creates a conditional allow rule that allows access to all privileges on everything
+        by everyone, except when the requesting IP is "blacklisted." If a request comes in from an IP that
+        is not considered "clean," then the allow rule does not apply. Since the rule applies to all Roles,
+        all Resources, and all privileges, an "unclean" IP would result in a denial of access. This is a special
+        case, however, and it should be understood that in all other cases (i.e., where a specific Role,
+        Resource, or privilege is specified for the rule), a failed assertion results in the rule not applying,
+        and other rules would be used to determine whether access is allowed or denied.
         </para>
 
-		<para>
-			The
-			<code>assert()</code>
-			method of an assertion object is passed the ACL, Role, Resource, and
-			privilege
-			to which the authorization query (i.e.,
-			<code>isAllowed()</code>
-			) applies, in order to provide
-			a context for the assertion class to determine its conditions where
-			needed.
-		</para>
+        <para>
+        The <code>assert()</code> method of an assertion object is passed the ACL, Role, Resource, and privilege
+        to which the authorization query (i.e., <code>isAllowed()</code>) applies, in order to provide
+        a context for the assertion class to determine its conditions where needed.
+        </para>
 
-	</sect2>
+    </sect2>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 226 - 347
documentation/manual/bg/module_specs/Zend_Acl.xml

@@ -1,160 +1,98 @@
 <sect1 id="zend.acl.introduction">
-	<title>Въведение</title>
+    <title>Въведение</title>
 
-	<para>
+    <para>
 
-		Zend_Acl предоставя гъвкава функционалност за прилагане на access control
-		list(ACL).
-		и мениджмънт на привилегии.
-		На кратко казано, една програма може да използва такава функция за да
-		контролира достъпа
-		до определен защитен обект, до който друг обект е пожелал достъп.
+        Zend_Acl предоставя гъвкава функционалност за прилагане на access control list(ACL).
+        и мениджмънт на привилегии.
+        На кратко казано, една програма може да използва такава функция за да контролира достъпа
+        до определен защитен обект, до който друг обект е пожелал достъп.
     </para>
 
-	<para>
-		Терминологя за целта на тази документация,
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis role="strong">Resource</emphasis>
-					е обект, до който достъпа е контролиран.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis role="strong">Role</emphasis>
-					е обект, който може да поиска достъп до Resource.
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		Тъй че,
-		<emphasis role="strong">Role заявява достъп до Ресурс</emphasis>
-		.
-		Например, ако човек заяви достъп до автомобил, тогава човекът а в позицията на
-		Role,
-		а колата Resource, тъй като достъпа до колата е контролиран.
-	</para>
-
-	<para>
-		Чрез употребата на access control list (ACL), една програма може да
-		контролира как на обекти правещ заявката (Resource), е предостаавен
-		достъп до защитен обект (Resource).
+    <para>
+        Терминологя за целта на тази документация,
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis role="strong">Resource</emphasis> е обект, до който достъпа е контролиран.
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis role="strong">Role</emphasis> е обект, който може да поиска достъп до Resource.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        Тъй че, <emphasis role="strong">Role заявява достъп до Ресурс</emphasis>.
+        Например, ако човек заяви достъп до автомобил, тогава човекът а в позицията на Role,
+        а колата Resource, тъй като достъпа до колата е контролиран.
     </para>
 
-	<sect2 id="zend.acl.introduction.resources">
-		<title>Относно Resource</title>
-		<para>
-			В Zend_Acl, създаването на Resource е много лесно. Zend_Acl
-			предоставя
-			<code>Zend_Acl_Resource_Interface</code>
-			за да се създаде Resources.Даден клас просто трябва да наследява от
-			този интерфейс
-			, който се състои от единствения метод,
-			<code>getResourceId()</code>
-			, тъй че Zend_Acl да счете този обект за Resource.
-			Нещо повече,
-			<code>Zend_Acl_Resource</code>
-			е включен със Zend_Acl като базов Resource от който може да се
-			онаследява, кодето е нужно.
-		</para>
-		<para>
-			Zend_Acl предоставя дървовидна структура към която множество Resources (или
-			система под контрол)
-			може да бъде добавена. Тъй като Ресърсите са съхраняване в такава
-			структура , те могат да бъдат организирани от общото (основата на
-			дървото)
-			към специфичното/подробното (лисстата или клоновете на дървото).
-			Заявка до специфичен Ресурс ще предизвика автоамтично претърсване на
-			йерархията за правила закрепени към предшестващия ресурс,
-			позволявайки за по просто онаследяване на правила.
-			Например, ако едно правило в един град е приложено за всяка сграда, тогава е
-			смислено правилото да е прикрепено към правилата за града, а не за
-			всяка сграда по отделно.
-			Но, някои сгради може да бъдат изключения от общото правило. Това
-			изключение може да се постигне лесно чрез Zend_Acl, като към всяка
-			сграда изискваща изключение от общото правило
-			се прикрепи такова.
-			Даден Ресурс може да наследи от само точно един Ресурс, въпреки че то зи
-			родител Ресурс от сво страна може да е онаследил от друг такъв и т.н.
+    <para>
+        Чрез употребата на access control list (ACL), една програма може да контролира как на обекти правещ заявката (Resource), е предостаавен достъп до защитен обект (Resource).
+    </para>
+
+    <sect2 id="zend.acl.introduction.resources">
+        <title>Относно Resource</title>
+        <para>
+            В Zend_Acl, създаването на Resource е много лесно. Zend_Acl предоставя
+            <code>Zend_Acl_Resource_Interface</code> за да се създаде Resources.Даден клас просто трябва да наследява от този интерфейс
+            , който се състои от единствения метод, <code>getResourceId()</code>, тъй че Zend_Acl да счете този обект за Resource.
+            Нещо повече, <code>Zend_Acl_Resource</code> е включен със Zend_Acl като базов Resource от който може да се онаследява, кодето е нужно.
+        </para>
+        <para>
+            Zend_Acl предоставя дървовидна структура към която множество Resources (или система под контрол)
+            може да бъде добавена. Тъй като Ресърсите са съхраняване в такава структура , те могат да бъдат организирани от общото (основата на дървото)
+            към специфичното/подробното (лисстата или клоновете на дървото).
+            Заявка до специфичен Ресурс ще предизвика автоамтично претърсване на йерархията за правила закрепени към предшестващия ресурс,
+            позволявайки за по просто онаследяване на правила.
+            Например, ако едно правило в един град е приложено за всяка сграда, тогава е смислено правилото да е прикрепено към правилата за града, а не за всяка сграда по отделно.
+            Но, някои сгради може да бъдат изключения от общото правило. Това изключение може да се постигне лесно чрез Zend_Acl, като към всяка сграда изискваща изключение от общото правило
+            се прикрепи такова.
+            Даден Ресурс може да наследи от само точно един Ресурс, въпреки че то зи родител Ресурс от сво страна може да е онаследил от друг такъв и т.н.
+        </para>
+        <para>
+            Чрез Zend_Acl също е възможно да се назнчат привилегии върху Ресурса (например - "create", "read", "update", "delete"). По този начин програмиста може да назначи
+            правила, които да рефлектират върху всички привилегии или само някои върху Ресурс.
         </para>
-		<para>
-			Чрез Zend_Acl също е възможно да се назнчат привилегии върху Ресурса
-			(например - "create", "read", "update", "delete"). По този начин
-			програмиста може да назначи
-			правила, които да рефлектират върху всички привилегии или само някои върху
-			Ресурс.
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.roles">
+        <title>Относно Roles</title>
+        <para>
+            Както и Ресурса така и създаването Рole е много лесно.
+            Zend_Acl излага <code>Zend_Acl_Role_Interface</code> за да подпомогне програмиста да създаде Role.
+            Даден клас тряба само да приложи този интерфейс, който се състои от единствен метод, <code>getRoleId()</code>,
+            за да се счете обекта за Role от гледна точка на Zend_Acl.
+            Нещо повече,  <code>Zend_Acl_Role</code> е включен със  <code>Zend_Acl</code> като базово приложение на Role за да може програмиста да
+            го допълни където е нужно.
         </para>
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.roles">
-		<title>Относно Roles</title>
-		<para>
-			Както и Ресурса така и създаването Рole е много лесно.
-			Zend_Acl излага
-			<code>Zend_Acl_Role_Interface</code>
-			за да подпомогне програмиста да създаде Role.
-			Даден клас тряба само да приложи този интерфейс, който се състои от
-			единствен метод,
-			<code>getRoleId()</code>
-			,
-			за да се счете обекта за Role от гледна точка на Zend_Acl.
-			Нещо повече,
-			<code>Zend_Acl_Role</code>
-			е включен със
-			<code>Zend_Acl</code>
-			като базово приложение на Role за да може програмиста да
-			го допълни където е нужно.
-		</para>
-		<para>
-			Във
-			<code>Zend_Acl</code>
-			Role може да наследи от една или повече Roles. Така се предоставя
-			начин да се поддържа онаследяване ан правила
-			между Roles.
-			Например, нека имаме Role наречена Penka, която от своя страна принадлежи на
-			Role "редактор" и на друга Role - "администратор".
-			Програмиста може да назначи правила, на "редактор" и "администратор" по
-			отделно,а "Penka" от своя стран ще придобие
-			по наследство техните правила без да биват назначавани директно.
-		</para>
-		<para>
-			Въпреки че способността да се онаследява от множество Roles е полезно, това
-			довежда до някаква степен на усложняване от своя страна.
-			Следния пример илюстрира как Zend_Acl улеснява в подобни ситуации.
+        <para>
+            Във  <code>Zend_Acl</code> Role може да наследи от една или повече Roles. Така се предоставя начин да се поддържа онаследяване ан правила
+            между Roles.
+            Например, нека имаме Role наречена Penka, която от своя страна принадлежи на Role "редактор" и на друга Role - "администратор".
+            Програмиста може да назначи правила, на "редактор" и "администратор" по отделно,а "Penka" от своя стран ще придобие
+            по наследство техните правила без да биват назначавани директно.
         </para>
-		<example id="zend.acl.introduction.roles.example.multiple_inheritance">
-			<title>Многократно онаследяване между Roles</title>
-			<para>
-
-				Следня код дефинира три басови Роли "
-				<code>guest</code>
-				", "
-				<code>member</code>
-				", и
-				"
-				<code>admin</code>
-				", от които други Роли може да онаследяват. Тогава, Ролята "
-				<code>someUser</code>
-				"
-				може да се установи като онаследи от всички три предишни Роли.
-				Реда в който Ролите са подредени в
-				<code>$parents</code>
-				array е важен. Когато е необходимо Zend_Acl
-				търси правилата за достъп не само за определената Роля, а имменно "
-				<code>someUser</code>
-				", но също и
-				правилата върху Ролите от които е наследила (а иммено "
-				<code>guest</code>
-				", "
-				<code>member</code>
-				", и "
-				<code>admin</code>
-				"):
-
-			</para>
-			<programlisting role="php"><![CDATA[<?php
+        <para>
+            Въпреки че способността да се онаследява от множество Roles е полезно, това довежда до някаква степен на усложняване от своя страна.
+            Следния пример илюстрира как Zend_Acl улеснява в подобни ситуации.
+        </para>
+        <example id="zend.acl.introduction.roles.example.multiple_inheritance">
+            <title>Многократно онаследяване между Roles</title>
+            <para>
+
+                Следня код дефинира три басови Роли "<code>guest</code>", "<code>member</code>", и
+                "<code>admin</code>", от които други Роли може да онаследяват. Тогава, Ролята "<code>someUser</code>"
+                може да се установи като онаследи от всички три предишни Роли.
+                Реда в който Ролите са подредени в  <code>$parents</code> array е важен. Когато е необходимо Zend_Acl
+                търси правилата за достъп не само за определената Роля, а имменно "<code>someUser</code>", но също и
+                правилата върху Ролите от които е наследила (а иммено  "<code>guest</code>", "<code>member</code>", и "<code>admin</code>"):
+
+            </para>
+            <programlisting role="php"><![CDATA[<?php
 require_once 'Zend/Acl.php';
 $acl = new Zend_Acl();
 
@@ -173,165 +111,116 @@ $acl->deny('guest', 'someResource');
 $acl->allow('member', 'someResource');
 
 echo $acl->isAllowed('someUser', 'someResource') ? 'allowed' : 'denied';]]>
-			</programlisting>
-			<para>
-				Тъй като няма правила специално дефинирани за "
-				<code>someUser</code>
-				" и
-				"
-				<code>someResource</code>
-				", Zend_Acl ще трябва да търси за правила, които може да са
-				дефинирани
-				за Роли от които "
-				<code>someUser</code>
-				" онаследява.
-				Първо проверка е направена за "
-				<code>admin</code>
-				" и няма правила за достъп определени за нея.
-				След това,Ролята "
-				<code>member</code>
-				" бива проверена и Zend_Acl установява че има дефинирано правило,
-				което казва,че на
-				"
-				<code>member</code>
-				" е позволено да има достъп до "
-				<code>someResource</code>
-				".
-			</para>
-			<para>
-				Ако Zend_Acl продължи да проверява правилата за другите Роли по
-				установената йерархия ще се установи, че
-				за "
-				<code>guest</code>
-				" достъпа до "
-				<code>someResource</code>
-				" е забранен. Този факт допринася за
-				неясността в правилата които са описани в кода, защото сега "
-				<code>someUser</code>
-				" има забрана и в сащото време
-				разрешение за достъп до "
-				<code>someResource</code>
-				" (поради онаследяване от Роля по високо).
-			</para>
-			<para>
-				Zend_Acl разрешава този проблем като завърши операциата веднага
-				когато намери
-				първото правило,което е дирецтно приложимо. В този случй, тъй като "
-				<code>member</code>
-				" Role е разгледана
-				преди "
-				<code>guest</code>
-				", тогава примерния код ще отпринтира "
-				<code>allowed</code>
-				".
-			</para>
-		</example>
-		<note>
-			<para>
-				Когато се декларират множество родители за една роля, трябв да се има в
-				предвид че последния родител
-				е първиа който бива проверяван за прилагане на правилата за
-				оторизация.
+            </programlisting>
+            <para>
+                Тъй като няма правила специално дефинирани за "<code>someUser</code>" и
+                "<code>someResource</code>", Zend_Acl ще трябва да търси за правила, които може да са дефинирани
+                за Роли от които "<code>someUser</code>" онаследява.
+                Първо проверка е направена за "<code>admin</code>" и няма правила за достъп определени за нея.
+                След това,Ролята "<code>member</code>" бива проверена и Zend_Acl установява че има дефинирано правило, което казва,че на
+                "<code>member</code>" е позволено да има достъп до "<code>someResource</code>".
+            </para>
+            <para>
+                Ако Zend_Acl продължи да проверява правилата за другите Роли по установената йерархия ще се установи, че
+                за "<code>guest</code>" достъпа до "<code>someResource</code>" е забранен. Този факт допринася за
+                неясността в правилата които са описани в кода, защото сега "<code>someUser</code>" има забрана и в сащото време
+                разрешение за достъп до "<code>someResource</code>" (поради онаследяване от Роля по високо).
+            </para>
+            <para>
+                Zend_Acl разрешава този проблем като завърши операциата веднага когато намери
+                първото правило,което е дирецтно приложимо. В този случй, тъй като "<code>member</code>" Role е разгледана
+                преди "<code>guest</code>", тогава примерния код ще отпринтира 	"<code>allowed</code>".
             </para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.creating">
-		<title>Създаван на Access Control List (ACL)</title>
-
-		<para>
-			An ACL can represent any set of physical or virtual objects that you
-			wish.
-			For the purposes of demonstration, however, we will create a basic
-			Content Management System ACL
-			that maintains several tiers of groups over a wide variety of areas. To
-			create a new ACL object,
-			we instantiate the ACL with no parameters:
+        </example>
+        <note>
+            <para>
+                Когато се декларират множество родители за една роля, трябв да се има в предвид че последния родител
+                е първиа който бива проверяван за прилагане на правилата за оторизация.
+            </para>
+        </note>
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.creating">
+        <title>Създаван на Access Control List (ACL)</title>
+
+        <para>
+            An ACL can represent any set of physical or virtual objects that you wish.
+            For the purposes of demonstration, however, we will create a basic Content Management System ACL
+            that maintains several tiers of groups over a wide variety of areas. To create a new ACL object,
+            we instantiate the ACL with no parameters:
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 require_once 'Zend/Acl.php';
 
 $acl = new Zend_Acl();]]>
-		</programlisting>
+        </programlisting>
 
-		<note>
-			<para>
-				Докато изрично не е обозначено правило "allow" , Zend_Acl ще отказва
-				достъп до всяка привилегия върху Ресурс
-				на всяка Роля.
+        <note>
+            <para>
+                Докато изрично не е обозначено правило  "allow" , Zend_Acl ще отказва достъп до всяка привилегия върху Ресурс
+                на всяка Роля.
             </para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.role_registry">
-		<title>Регистриране на Роли</title>
-
-		<para>
-			Content Management Systems почти винаги ще изискват йерархия от нива на
-			достъп за да се определят
-			правата за манипулациите, които могат да бъдат изваршвани от един
-			Потребител. Може да има група "Гост", която да има
-			огранияен достъп - за демонстрации например. Би могло да им група "Персонал",
-			за тези които извършват
-			ежедневни операции, група "Редактор" за тези отговорни за публикуване,
-			редактиране, архивиране и изтриване на съдържание.
-			И последно, може да има група 'Администратор", която може да включва
-			всички гореспоментаи дейности плюс поддръжка и опериране с
-			чувствителна информация, backup и конфигуриране на бек енда. Тази
-			поредица от привилегии може да бъде
-			представена в Role registry, което да позволи на всяка група да онаследява
-			привилегии от група родител (по-високо в йерархията),
-			а съсщо така и да определи привилегии уникални за всяка група.
-			Различните нива на достъп могат да се представят така:
+        </note>
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.role_registry">
+        <title>Регистриране на Роли</title>
+
+        <para>
+            Content Management Systems почти винаги ще изискват йерархия от нива на достъп за да се определят
+            правата за манипулациите, които могат да бъдат изваршвани от един Потребител. Може да има група "Гост", която да има
+            огранияен достъп - за демонстрации например. Би могло да им група "Персонал", за тези които извършват
+            ежедневни операции, група "Редактор" за тези отговорни за публикуване, редактиране, архивиране и изтриване на съдържание.
+            И последно, може да има група 'Администратор", която може да включва всички гореспоментаи дейности плюс поддръжка и опериране с
+            чувствителна информация, backup и конфигуриране на бек енда. Тази поредица от привилегии може да бъде
+            представена в Role registry, което да позволи на всяка група да онаследява привилегии от група родител (по-високо в йерархията),
+            а съсщо така и да определи привилегии уникални за всяка група.
+            Различните нива на достъп могат да се представят така:
         </para>
 
-		<table
-			id="zend.acl.introduction.role_registry.table.example_cms_access_controls">
-			<title>Access Controls за Example CMS</title>
-			<tgroup cols="3">
-				<thead>
-					<row>
-						<entry>Name</entry>
-						<entry>Unique permissions</entry>
-						<entry>Наследи достъп от</entry>
-					</row>
-				</thead>
-				<tbody>
-					<row>
-						<entry>Guest</entry>
-						<entry>View</entry>
-						<entry>N/A</entry>
-					</row>
-					<row>
-						<entry>Staff</entry>
-						<entry>Edit, Submit, Revise</entry>
-						<entry>Guest</entry>
-					</row>
-					<row>
-						<entry>Editor</entry>
-						<entry>Publish, Archive, Delete</entry>
-						<entry>Staff</entry>
-					</row>
-					<row>
-						<entry>Administrator</entry>
-						<entry>(Granted all access)</entry>
-						<entry>N/A</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-
-		<para>
-			За този пример,
-			<code>Zend_Acl_Role</code>
-			е използван, но всеки обект прилагащ
-			<code>Zend_Acl_Role_Interface</code>
-			може да се ползва.
-			Тези групи могат да се добавят до регитъра по следния начин.
-		</para>
-
-		<programlisting role="php"><![CDATA[<?php
+        <table id="zend.acl.introduction.role_registry.table.example_cms_access_controls">
+          <title>Access Controls за Example CMS</title>
+          <tgroup cols="3">
+            <thead>
+              <row>
+                <entry>Name</entry>
+                <entry>Unique permissions</entry>
+                <entry>Наследи достъп от</entry>
+              </row>
+            </thead>
+            <tbody>
+              <row>
+                <entry>Guest</entry>
+                <entry>View</entry>
+                <entry>N/A</entry>
+              </row>
+              <row>
+                <entry>Staff</entry>
+                <entry>Edit, Submit, Revise</entry>
+                <entry>Guest</entry>
+              </row>
+              <row>
+                <entry>Editor</entry>
+                <entry>Publish, Archive, Delete</entry>
+                <entry>Staff</entry>
+              </row>
+              <row>
+                <entry>Administrator</entry>
+                <entry>(Granted all access)</entry>
+                <entry>N/A</entry>
+              </row>
+            </tbody>
+          </tgroup>
+        </table>
+
+        <para>
+            За този пример, <code>Zend_Acl_Role</code> е използван, но всеки обект прилагащ
+            <code>Zend_Acl_Role_Interface</code> може да се ползва.
+            Тези групи могат  да се добавят до регитъра по следния начин.
+        </para>
+
+        <programlisting role="php"><![CDATA[<?php
 require_once 'Zend/Acl.php';
 
 $acl = new Zend_Acl();
@@ -355,32 +244,27 @@ $acl->addRole(new Zend_Acl_Role('editor'), 'staff');
 
 // Администратора не онаследява
 $acl->addRole(new Zend_Acl_Role('administrator'));]]>
-		</programlisting>
-
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.defining">
-		<title>Дефиниране на Access Controls</title>
-
-		<para>
-			Сеаг вече когато ACL съдържа съответните роли, правилата могат да бъдат
-			установени относно това как Ролите
-			могат да ползват Ресурси. може би сте забелязали, че не сме дефинирали
-			нито един специфичен Ресурс за този пример,
-			който е опростен за да се илюстрира че правилата се отнасят до всички
-			Ресурси.
-			Zend_Acl предоставя модел в който правилата трябва да бъдат назначени от
-			общото към специфичното, минимизирайки по този начин
-			броя на нужните правилам, тъй като Ресурсите и Ролите онаследяват правила
-			онаследени от техните предшественици (родители).
+        </programlisting>
+
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.defining">
+        <title>Дефиниране на Access Controls</title>
+
+        <para>
+            Сеаг вече когато ACL съдържа съответните роли, правилата могат да бъдат установени относно това как Ролите
+            могат да ползват Ресурси. може би сте забелязали, че не сме дефинирали нито един специфичен Ресурс за този пример,
+            който е опростен за да се илюстрира че правилата се отнасят до всички Ресурси.
+            Zend_Acl предоставя модел в който правилата трябва да бъдат назначени от общото към специфичното, минимизирайки по този начин
+            броя на нужните правилам, тъй като Ресурсите и Ролите онаследяват правила онаследени от техните предшественици (родители).
         </para>
 
-		<para>
-			Следователно, можем да дефинираме разумно сложна система от правила с минимум код.
-			За да приложим основните нива на достъп дефинирани по-горе:
+        <para>
+            Следователно, можем да дефинираме разумно сложна система от правила с минимум код.
+            За да приложим основните нива на достъп дефинирани по-горе:
         </para>
 
-		<programlisting role="php"><![CDATA[<?php
+        <programlisting role="php"><![CDATA[<?php
 require_once 'Zend/Acl.php';
 
 $acl = new Zend_Acl();
@@ -409,32 +293,25 @@ $acl->allow('editor', null, array('publish', 'archive', 'delete'));
 
 // Administrator не онаследява,но има всички привилегии
 $acl->allow('administrator');]]>
-		</programlisting>
-
-		<para>
-			Стойностите
-			<code>null</code>
-			при
-			<code>allow()</code>
-			са изповани за да се покаже че
-			позволените правила са приложени за сички ресурси.
-		</para>
-
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.querying">
-		<title>Допит до ACL</title>
-
-		<para>
-			Сега ние имаме гъвкав ACL , който може да се използва за да се
-			определи дали поискващите обекти имат
-			разрешение да изпълняват дейности във уеб приложението.
-			Изпълнението на queries е доста просто като ползваме
-			<code>isAllowed()</code>
-			метод:
-		</para>
-
-		<programlisting role="php"><![CDATA[<?php
+        </programlisting>
+
+        <para>
+            Стойностите <code>null</code> при <code>allow()</code> са изповани за да се покаже че
+            позволените правила са приложени за сички ресурси.
+        </para>
+
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.querying">
+        <title>Допит до ACL</title>
+
+        <para>
+            Сега ние имаме гъвкав ACL , който може да се използва за да се определи дали поискващите обекти имат
+            разрешение да изпълняват дейности във уеб приложението.
+            Изпълнението на queries е доста просто като ползваме <code>isAllowed()</code> метод:
+        </para>
+
+        <programlisting role="php"><![CDATA[<?php
 echo $acl->isAllowed('guest', null, 'view') ?
      "allowed" : "denied"; // allowed
 
@@ -458,8 +335,10 @@ echo $acl->isAllowed('administrator') ?
 
 echo $acl->isAllowed('administrator', null, 'update') ?
      "allowed" : "denied"; // allowed because administrator is allowed all privileges]]>
-		</programlisting>
+        </programlisting>
 
-	</sect2>
+    </sect2>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 1 - 1
documentation/manual/bg/ref/language-snippets.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 
 <!-- links -->
 <!ENTITY lang                                   'bg'>

+ 43 - 46
documentation/manual/cs/html/dbstyle.css

@@ -1,82 +1,79 @@
 body {
-	font-family: Tahoma, Arial, sans-serif;
+    font-family: Tahoma, Arial, sans-serif;
 }
 
-h1,h2,h3,h4,h5 {
-	font-family: Arial, serif;
+h1, h2, h3, h4, h5 {
+    font-family: Arial, serif;
 }
 
 h2 {
-	font-size: 1.3em;
+    font-size: 1.3em;
 }
 
-h3,h4,h5 {
-	font-size: 1em;
-	margin: 0.2em;
+h3, h4, h5 {
+    font-size: 1em;
+    margin: 0.2em;
 }
 
-div.note,div.warning,div.tip {
-	margin-left: 0.3in;
-	margin-right: 0.5in;
-	border: solid 1px blue;
-	background-color: #e0e0e0;
-	padding: 0.1in;
+div.note, div.warning, div.tip {
+    margin-left: 0.3in;
+    margin-right: 0.5in;
+    border: solid 1px blue;
+    background-color: #e0e0e0;
+    padding: 0.1in;
 }
 
-div.note img,div.warning img,div.tip img {
-	margin-right: 0.1in;
-	border: solid 1px blue;
+div.note img, div.warning img, div.tip img {
+    margin-right: 0.1in;
+    border: solid 1px blue;
 }
 
 pre.programlisting {
-	border: solid 1px #444;
-	background-color: #e0e0e0;
-	padding: 0.1in;
-	margin: 0.2in;
-	clear: right;
+    border: solid 1px #444;
+    background-color: #e0e0e0;
+    padding: 0.1in;
+    margin: 0.2in;
+    clear: right;
 }
 
 pre.screen {
-	border: solid 1px #777;
-	background-color: #ddd;
-	padding: 0.1in;
-	margin: 0.2in;
-	clear: right;
+    border: solid 1px #777;
+    background-color: #ddd;
+    padding: 0.1in;
+    margin: 0.2in;
+    clear: right;
 }
 
 div.variablelist dl dt span.term {
-	font-weight: bold;
+    font-weight: bold;
 }
 
-hr {
-	display: none;
-}
+hr { display: none; }
 
 div.navheader {
-	padding-bottom: 0.1in;
-	border-bottom: solid 1px black;
-	border-color: #aaa;
+    padding-bottom: 0.1in;
+    border-bottom: solid 1px black;
+    border-color: #aaa;
 }
-
 div.navfooter {
-	margin-top: 0.1in;
-	border-top: solid 1px black;
-	border-color: #aaa;
-	padding-top: 0.1in;
+    margin-top: 0.1in;
+    border-top: solid 1px black;
+    border-color: #aaa;
+    padding-top: 0.1in;
 }
 
 div.figure-float {
-	float: right;
-	margin-left: 2em;
-	margin-bottom: 2em;
+    float: right;
+    margin-left: 2em;
+    margin-bottom: 2em;
 }
 
 div.revinfo {
-	text-align: center;
-	font-size: 0.7em;
-	font-style: italic;
+    text-align: center;
+    font-size: 0.7em;
+    font-style: italic;
 }
 
 code.code {
-	font-family: "Lucida Console", monospace;
-}
+    font-family: "Lucida Console", monospace;
+}

+ 52 - 84
documentation/manual/cs/module_specs/Zend_Debug.xml

@@ -1,101 +1,69 @@
 <sect1 id="zend.debug.dumping">
 
-	<title>Ladění proměnných</title>
+    <title>Ladění proměnných</title>
 
-	<para>
-		Statická metoda
-		<code>Zend_Debug::dump()</code>
-		vypisuje nebo vrací informaci
-		o určitém výrazu. Tento způsob ladění kódu se používá běžně, protože
-		není
-		třeba používat žádné speciální nástroje nebo prostředí pro ladění.
-	</para>
+    <para>
+        Statická metoda <code>Zend_Debug::dump()</code> vypisuje nebo vrací informaci
+        o určitém výrazu. Tento způsob ladění kódu se používá běžně, protože není
+        třeba používat žádné speciální nástroje nebo prostředí pro ladění.
+    </para>
 
-	<example id="zend.debug.dumping.example">
-		<title>Příklad použití metody dump()</title>
-		<programlisting role="php"><![CDATA[<?php
+    <example id="zend.debug.dumping.example">
+        <title>Příklad použití metody dump()</title>
+        <programlisting role="php"><![CDATA[<?php
 
 Zend_Debug::dump($var, $label=null, $echo=true)
 
 ?>]]></programlisting>
-	</example>
+    </example>
 
 
-	<para>
-		Parametr
-		<code>$var</code>
-		přijímá výraz nebo proměnnou, jejíž
-		obsah bude vypsán metodou
-		<code>Zend_Debug::dump()</code>
-		.
-	</para>
+    <para>
+        Parametr <code>$var</code> přijímá výraz nebo proměnnou, jejíž
+        obsah bude vypsán metodou <code>Zend_Debug::dump()</code>.
+    </para>
 
-	<para>
-		Parametr
-		<code>$label</code>
-		obsahuje řetězec, který bude rovněž vypsán metodou
-		<code>Zend_Debug::dump()</code>
-		. Může být velmi užitečný v případě, kdy
-		jsou vypisovány informace o více proměnných najednou.
-	</para>
+    <para>
+        Parametr <code>$label</code> obsahuje řetězec, který bude rovněž vypsán metodou
+        <code>Zend_Debug::dump()</code>.  Může být velmi užitečný v případě, kdy
+        jsou vypisovány informace o více proměnných najednou.
+    </para>
 
-	<para>
-		Parametr
-		<code>$echo</code>
-		obsahuje boolean hodnotu (true/false)
-		a určuje, zda má být výstup metody
-		<code>Zend_Debug::dump()</code>
-		vypsán.
-		Jestliže je hodnota
-		<code>true</code>
-		(defaultně), obsah je vypsán.
-		Bez ohledu na hodnotu parametru
-		<code>$echo</code>
-		, vždy je vrácen nějaký
-		obsah.
-	</para>
+    <para>
+        Parametr <code>$echo</code> obsahuje boolean hodnotu (true/false)
+        a určuje, zda má být výstup metody <code>Zend_Debug::dump()</code> vypsán.
+        Jestliže je hodnota <code>true</code> (defaultně), obsah je vypsán.
+        Bez ohledu na hodnotu parametru <code>$echo</code>, vždy je vrácen nějaký
+        obsah.
+    </para>
 
-	<para>
-		Může být užitečné vědět, že metoda
-		<code>Zend_Debug::dump()</code>
-		interně používá funkci
-		<ulink url="http://php.net/var_dump">
-			<code>var_dump()</code>
-		</ulink>
-		.
-		Metoda navíc zjišťuje, zda bude výstup vypsán ve webové prezentaci.
-		Pokud ano, pak je výstup metody
-		<code>var_dump()</code>
-		escapován funkcí
-		<ulink url="http://php.net/htmlspecialchars">
-			<code>htmlspecialchars()</code>
-		</ulink>
-		a obalen elementy (X)HTML
-		<code>&lt;pre&gt;</code>
-		.
-	</para>
+    <para>
+        Může být užitečné vědět, že metoda
+        <code>Zend_Debug::dump()</code> interně používá funkci
+        <ulink url="http://php.net/var_dump"><code>var_dump()</code></ulink>.
+        Metoda navíc zjišťuje, zda bude výstup vypsán ve webové prezentaci.
+        Pokud ano, pak je výstup metody <code>var_dump()</code> escapován funkcí
+        <ulink url="http://php.net/htmlspecialchars"><code>htmlspecialchars()</code></ulink>
+        a obalen elementy (X)HTML <code>&lt;pre&gt;</code>.
+    </para>
 
-	<tip>
-		<title>Ladění pomocí Zend_Log</title>
-		<para>
-			Používání metody
-			<code>Zend_Debug::dump()</code>
-			je velmi dobré pro
-			jednoduché ladění během vývoje. Jednoduše můžete přidat kód, který
-			vypíše hodnotu proměnné a pak jej zase rychle odstranit.
-		</para>
-		<para>
-			Je možné také používat knihovnu
-			<link linkend="zend.log.overview">Zend_Log</link>
-			pro dlouhodobé ladění kódu.
-			Např. můžete používat
-			<code>DEBUG</code>
-			log level a výsledek metody
-			<code>Zend_Debug::dump()</code>
-			zapisovat do logu.
-		</para>
+    <tip>
+        <title>Ladění pomocí Zend_Log</title>
+        <para>
+            Používání metody <code>Zend_Debug::dump()</code> je velmi dobré pro
+            jednoduché ladění během vývoje. Jednoduše můžete přidat kód, který
+            vypíše hodnotu proměnné a pak jej zase rychle odstranit.
+        </para>
+        <para>
+            Je možné také používat knihovnu <link linkend="zend.log.overview">Zend_Log</link>
+            pro dlouhodobé ladění kódu.
+            Např. můžete používat <code>DEBUG</code> log level a výsledek metody
+            <code>Zend_Debug::dump()</code> zapisovat do logu.
+        </para>
 
-	</tip>
+    </tip>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 16 - 14
documentation/manual/cs/module_specs/Zend_Exception.xml

@@ -1,15 +1,15 @@
 <sect1 id="zend.exception.using">
 
-	<title>Práce s výjimkami</title>
+    <title>Práce s výjimkami</title>
 
-	<para>
-		Všechny výjimky vyhozené v Zend Frameworku by měly být odvozeny od
-		hlavní třídy Zend_Exception.
+    <para>
+        Všechny výjimky vyhozené v Zend Frameworku by měly být odvozeny od
+        hlavní třídy Zend_Exception.
     </para>
 
-	<example id="zend.exception.using.example">
-		<title>Příklad zachycení výjimky</title>
-		<programlisting role="php"><![CDATA[<?php
+    <example id="zend.exception.using.example">
+        <title>Příklad zachycení výjimky</title>
+        <programlisting role="php"><![CDATA[<?php
 try {
     Zend_Loader::loadClass('neexistujicitrida');
 } catch (Zend_Exception $e) {
@@ -18,14 +18,16 @@ try {
     // další kód, který se vykoná při chybě
 }
 ?>]]></programlisting>
-	</example>
+    </example>
 
-	<para>
-		Pro více informací o výjimkách se podívejte do dokumentace
-		k příslušné knihovně Zend Frameworku. Najdete informace metodach,
-		které výjimky vyhazují a za jakých okolností se tak děje
-		a které výjimky jsou zděděny z hlavní výjimky - Zend_Exception.
+    <para>
+        Pro více informací o výjimkách se podívejte do dokumentace
+        k příslušné knihovně Zend Frameworku. Najdete informace metodach,
+        které výjimky vyhazují a za jakých okolností se tak děje
+        a které výjimky jsou zděděny z hlavní výjimky - Zend_Exception.
     </para>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 11 - 13
documentation/manual/cs/module_specs/Zend_Json-Basics.xml

@@ -1,20 +1,18 @@
 <sect1 id="zend.json.basics">
-	<title>Základní použití</title>
-	<para>
-		Použití
-		<code>Zend_Json</code>
-		zahrnuje dvě public static metody:
-		<code>Zend_Json::encode()</code>
-		a
-		<code>Zend_Json::decode()</code>
-		.
-	</para>
-	<programlisting role="php"><![CDATA[<?php
+    <title>Základní použití</title>
+    <para>
+        Použití <code>Zend_Json</code> zahrnuje dvě public static metody:
+        <code>Zend_Json::encode()</code> a
+        <code>Zend_Json::decode()</code>.
+    </para>
+    <programlisting role="php"><![CDATA[<?php
 // Získání hodnoty:
 $phpNative = Zend_Json::decode($encodedValue);
 
 // Zakódování hodnoty pro vrácení klientovi:
 $json = Zend_Json::encode($phpNative);]]>
-	</programlisting>
+    </programlisting>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 23 - 24
documentation/manual/cs/module_specs/Zend_Json-Introduction.xml

@@ -1,29 +1,28 @@
 <sect1 id="zend.json.introduction">
-	<title>Úvod</title>
-	<para>
-		<code>Zend_Json</code>
-		poskytuje užitečné metody pro serializaci PHP
-		do JSON a pro dekódování JSON do PHP. Pro více informací o JSON,
-		<ulink url="http://www.json.org/">navštivte web JSON projektu</ulink>
-		.
-	</para>
-	<para>
-		JSON, JavaScript Object Notation, může být použit pro výměnu dat mezi
-		JavaScriptem a dalšími jazyky. Protože JSON může být přímo zpracovám
-		JavaScriptem, je to rychlejší formát pro výměnu dat než XML.
+    <title>Úvod</title>
+    <para>
+        <code>Zend_Json</code> poskytuje užitečné metody pro serializaci PHP
+        do JSON a pro dekódování JSON do PHP. Pro více informací o JSON,
+        <ulink url="http://www.json.org/">navštivte web JSON projektu</ulink>.
+    </para>
+    <para>
+        JSON, JavaScript Object Notation, může být použit pro výměnu dat mezi
+        JavaScriptem a dalšími jazyky. Protože JSON může být přímo zpracovám
+        JavaScriptem, je to rychlejší formát pro výměnu dat než XML.
     </para>
 
-	<para>
-		<code>Zend_Json</code>
-		navíc poskytuje možnost pro převod jakéhokoliv
-		řetězce formátovaného pomocí XML do řetězce formátovaného pomocí JSON.
-		Tato vestavěná funkce umožní PHP programátorům převádět enterprise data
-		v XML formátu do JSON formátu před odesláním do browser-based Ajax
-		aplikací. Umožnuje snadno převádět data na straně serveru,
-		čímž se vyhneme nepotřebnému parsování XML na straně klienta.
-		Poskytuje užitečnou funkcionalitu, která umožňuje snadnější zpracování
-		dat v aplikaci.
-	</para>
+    <para>
+        <code>Zend_Json</code> navíc poskytuje možnost pro převod jakéhokoliv
+        řetězce formátovaného pomocí XML do řetězce formátovaného pomocí JSON.
+        Tato vestavěná funkce umožní PHP programátorům převádět enterprise data
+        v XML formátu do JSON formátu před odesláním do browser-based Ajax
+        aplikací. Umožnuje snadno převádět data na straně serveru,
+        čímž se vyhneme nepotřebnému parsování XML na straně klienta.
+        Poskytuje užitečnou funkcionalitu, která umožňuje snadnější zpracování
+        dat v aplikaci.
+    </para>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 37 - 43
documentation/manual/cs/module_specs/Zend_Json-Objects.xml

@@ -1,49 +1,43 @@
 <sect1 id="zend.json.objects">
-	<title>JSON Objekty</title>
-	<para>
-		Při převádění PHP objektů do JSON, budou veškere vlastnosti označené
-		jako public převedeny do JSON objektu.
+    <title>JSON Objekty</title>
+    <para>
+        Při převádění PHP objektů do JSON, budou veškere vlastnosti označené
+        jako public převedeny do JSON objektu.
     </para>
-	<para>
-		JSON nedovoluje reference na objekt, takže je třeba dávat pozor a
-		nepřevádět objekty s rekurzivními referencemi. Pokud máte problémy
-		s rekurzemi,
-		<code>Zend_Json::encode()</code>
-		a
-		<code>Zend_Json_Encoder::encode()</code>
-		umožňují volitelný druhý
-		parametr, zda se mají kontrolovat rekurze; pokud je objekt serializován
-		dvakrát, bude vyhozena výjimka.
-	</para>
-	<para>
-		Dekódování JSON objektů je komplikovanější, nicméně Javascriptové
-		objekty jsou nejvíce podobné asociativním polím v PHP. Někteří lidé
-		navrhují předávání identifikátoru třídy a naplnění instance objektu
-		daty ve formátu klíč/hodnota z JSON objektu; jiní si myslí, že by to
-		způsobilo značné bezpečnostní riziko.
+    <para>
+        JSON nedovoluje reference na objekt, takže je třeba dávat pozor a
+        nepřevádět objekty s rekurzivními referencemi. Pokud máte problémy
+        s rekurzemi, <code>Zend_Json::encode()</code> a
+        <code>Zend_Json_Encoder::encode()</code> umožňují volitelný druhý
+        parametr, zda se mají kontrolovat rekurze; pokud je objekt serializován
+        dvakrát, bude vyhozena výjimka.
     </para>
-	<para>
-		Defaultně,
-		<code>Zend_Json</code>
-		dekóduje JSON objekty jako asociativní
-		pole. Nicméně, pokud vyžadujete vrácení objektu, můžete to určit takto:
-	</para>
-	<programlisting role="php"><![CDATA[<?php
+    <para>
+        Dekódování JSON objektů je komplikovanější, nicméně Javascriptové
+        objekty jsou nejvíce podobné asociativním polím v PHP. Někteří lidé
+        navrhují předávání identifikátoru třídy a naplnění instance objektu
+        daty ve formátu klíč/hodnota z JSON objektu; jiní si myslí, že by to
+        způsobilo značné bezpečnostní riziko.
+    </para>
+    <para>
+        Defaultně, <code>Zend_Json</code> dekóduje JSON objekty jako asociativní
+        pole. Nicméně, pokud vyžadujete vrácení objektu, můžete to určit takto:
+    </para>
+    <programlisting role="php"><![CDATA[<?php
 // Dekódovat JSON objekty jako PHP objekty
 $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);]]>
-	</programlisting>
-	<para>
-		Jakýkoliv objekt takto převedený je typu
-		<code>StdClass</code>
-		s vlastnostmi odpovídajícími dvojicím klíč/hodnota z JSON zápisu.
-	</para>
-	<para>
-		Doporučení Zend Frameworku je, že každý vývojář by se měl rozhodnout
-		jak dekódovat JSON objekty. Pokud je potřeba vytvořit objekt daného
-		typu, tak může být vytvořen vlastním kódem a naplněn hodnotami
-		získanými dekódováním pomocí
-		<code>Zend_Json</code>
-		.
-	</para>
+    </programlisting>
+    <para>
+        Jakýkoliv objekt takto převedený je typu <code>StdClass</code>
+        s vlastnostmi odpovídajícími dvojicím klíč/hodnota z JSON zápisu.
+    </para>
+    <para>
+        Doporučení Zend Frameworku je, že každý vývojář by se měl rozhodnout
+        jak dekódovat JSON objekty. Pokud je potřeba vytvořit objekt daného
+        typu, tak může být vytvořen vlastním kódem a naplněn hodnotami
+        získanými dekódováním pomocí <code>Zend_Json</code>.
+    </para>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 52 - 66
documentation/manual/cs/module_specs/Zend_Json-xml2json.xml

@@ -1,62 +1,49 @@
 <sect1 id="zend.json.xml2json">
-	<title>Převod XML do JSON</title>
-	<para>
-		<code>Zend_Json</code>
-		poskytuje metodu pro převod dat formátovaných
-		pomocí XML do JSON formátu. Tato vlastnost je inspirována
-		<ulink url="http://www.ibm.com/developerworks/xml/library/x-xml2jsonphp/">
-			článkem na IBM developerWorks</ulink>
-		.
-	</para>
+    <title>Převod XML do JSON</title>
+    <para>
+        <code>Zend_Json</code> poskytuje metodu pro převod dat formátovaných
+        pomocí XML do JSON formátu. Tato vlastnost je inspirována
+        <ulink url="http://www.ibm.com/developerworks/xml/library/x-xml2jsonphp/">
+        článkem na IBM developerWorks</ulink>.
+    </para>
 
-	<para>
-		<code>Zend_Json</code>
-		zahrnuje statickou metodu
-		<code>Zend_Json::fromXml()</code>
-		. Tato funkce generuje JSON ze vstupu
-		ve formátu XML. Tato funkce přijímá jako vstupní parametr jakýkoliv XML
-		řetězec. Také přijímá druhý, volitelný parametr zda ignorovat XML
-		atributy během převodu. Pokud není tento volitelný parametr zadán,
-		defaultní chování je ignorování XML atributů. Volání této funkce je
-		naznačeno níže:
-	</para>
-	<programlisting role="php"><![CDATA[
+    <para>
+        <code>Zend_Json</code> zahrnuje statickou metodu
+        <code>Zend_Json::fromXml()</code>. Tato funkce generuje JSON ze vstupu
+        ve formátu XML. Tato funkce přijímá jako vstupní parametr jakýkoliv XML
+        řetězec. Také přijímá druhý, volitelný parametr zda ignorovat XML
+        atributy během převodu. Pokud není tento volitelný parametr zadán,
+        defaultní chování je ignorování XML atributů. Volání této funkce je
+        naznačeno níže:
+    </para>
+    <programlisting role="php"><![CDATA[
         // Funkce fromXml jednoduše přijme String obsahující XML data jak vstup.
         $jsonContents = Zend_Json::fromXml($xmlStringContents, true);?>]]>
-	</programlisting>
+    </programlisting>
 
-	<para>
-		Funkce
-		<code>Zend_Json::fromXml()</code>
-		provádí konverzi vstupního XML
-		řetězce a vrací odpovídající zápis ve formátu JSON. V případě chyby v
-		XML nebo chyby při převodu, tato funkce vyhazuje výjimku. Tato konverze
-		také využívá rekurzivitu při procházení XML stromu. Podporuje zanoření
-		do 25 úrovní. Za touto hloubkou vyhodí
-		<code>Zend_Json_Exception</code>
-		.
-		V adresáři tests Zend Frameworku je několik XML souborů s různým
-		stupněm
-		komplexity pro otestování funkčnosti funkce xml2json.
-	</para>
+    <para>
+        Funkce <code>Zend_Json::fromXml()</code> provádí konverzi vstupního XML
+        řetězce a vrací odpovídající zápis ve formátu JSON. V případě chyby v
+        XML nebo chyby při převodu, tato funkce vyhazuje výjimku. Tato konverze
+        také využívá rekurzivitu při procházení XML stromu. Podporuje zanoření
+        do 25 úrovní. Za touto hloubkou vyhodí <code>Zend_Json_Exception</code>.
+        V adresáři tests Zend Frameworku je několik XML souborů s různým stupněm
+        komplexity pro otestování funkčnosti funkce xml2json.
+    </para>
 
-	<para>
-		Následující jednoduchý příklad ukazuje jak předaný XML vstup tak JSON
-		výstup z funkce
-		<code>Zend_Json::fromXml()</code>
-		. Tento příklad využívá
-		volitelného parametru pro neignorování XML atributů během převodu.
-		Proto vrácený JSON řetězec obsahuje reprezentaci XML atributů přítomných
-		ve vstupním XML řetězci.
-	</para>
+    <para>
+        Následující jednoduchý příklad ukazuje jak předaný XML vstup tak JSON
+        výstup z funkce <code>Zend_Json::fromXml()</code>. Tento příklad využívá
+        volitelného parametru pro neignorování XML atributů během převodu.
+        Proto vrácený JSON řetězec obsahuje reprezentaci XML atributů přítomných
+        ve vstupním XML řetězci.
+    </para>
 
-	<para>
-		XML řetězec předaný funkci
-		<code>Zend_Json::fromXml()</code>
-		:
-	</para>
+    <para>
+        XML řetězec předaný funkci <code>Zend_Json::fromXml()</code>:
+    </para>
 
-	<programlisting role="php"><![CDATA[
+    <programlisting role="php"><![CDATA[
 <?xml version="1.0" encoding="UTF-8"?>
 <books>
     <book id="1">
@@ -77,15 +64,13 @@
         <publisher>O'Reilly</publisher>
     </book>
 </books> ?>]]>
-	</programlisting>
+    </programlisting>
 
-	<para>
-		JSON výstup vrácený z funkce
-		<code>Zend_Json::fromXml()</code>
-		:
-	</para>
+    <para>
+        JSON výstup vrácený z funkce <code>Zend_Json::fromXml()</code>:
+    </para>
 
-	<programlisting role="php"><![CDATA[
+    <programlisting role="php"><![CDATA[
 {
    "books" : {
       "book" : [ {
@@ -116,14 +101,15 @@
       }
    ]}
 }  ?>]]>
-	</programlisting>
+    </programlisting>
 
-	<para>
-		Více podrobností o funkci xml2json můžete najít v původním návrhu.
-		Podívejte se na
-		<ulink url="http://tinyurl.com/2tfa8z">návrh Zend_xml2json</ulink>
-		.
-	</para>
+    <para>
+        Více podrobností o funkci xml2json můžete najít v původním návrhu.
+        Podívejte se na
+        <ulink url="http://tinyurl.com/2tfa8z">návrh Zend_xml2json</ulink>.
+    </para>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 19 - 33
documentation/manual/cs/module_specs/Zend_Server.xml

@@ -1,35 +1,21 @@
 <sect1 id="zend.server.introduction">
-	<title>Úvod</title>
-	<para>
-		Rodina tříd
-		<code>Zend_Server</code>
-		poskytuje funkcionalitu pro různé
-		serverové třídy včetně
-		<code>Zend_XmlRpc_Server</code>
-		,
-		<code>Zend_Rest_Server</code>
-		,
-		<code>Zend_Json_Server</code>
-		a
-		<code>Zend_Soap_Wsdl</code>
-		.
-		<code>Zend_Server_Interface</code>
-		poskytuje rozhraní podobné třídě
-		<code>SoapServer</code>
-		z PHP5; Všechny serverové třídy by implementují
-		toto rozhraní, aby poskytovaly standartní serverové API.
-	</para>
-	<para>
-		Strom tříd
-		<code>Zend_Server_Reflection</code>
-		poskytuje standartní
-		mechanismus pro zkoumání funkcí a tříd použitelných jako callback
-		a poskytuje data použitelná s metodami
-		<code>getFunctions()</code>
-		a
-		<code>loadFunctions()</code>
-		z
-		<code>Zend_Server_Interface</code>
-	</para>
+    <title>Úvod</title>
+    <para>
+        Rodina tříd <code>Zend_Server</code> poskytuje funkcionalitu pro různé
+        serverové třídy včetně <code>Zend_XmlRpc_Server</code>,
+        <code>Zend_Rest_Server</code>, <code>Zend_Json_Server</code>
+        a <code>Zend_Soap_Wsdl</code>.
+        <code>Zend_Server_Interface</code> poskytuje rozhraní podobné třídě
+        <code>SoapServer</code> z PHP5; Všechny serverové třídy by implementují
+        toto rozhraní, aby poskytovaly standartní serverové API.
+    </para>
+    <para>
+        Strom tříd <code>Zend_Server_Reflection</code> poskytuje standartní
+        mechanismus pro zkoumání funkcí a tříd použitelných jako callback
+        a poskytuje data použitelná s metodami <code>getFunctions()</code>
+        a<code>loadFunctions()</code> z <code>Zend_Server_Interface</code>
+    </para>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 68 - 73
documentation/manual/cs/module_specs/Zend_Service.xml

@@ -1,79 +1,74 @@
 <sect1 id="zend.service.introduction">
-	<title>Úvod</title>
-	<para>
-		<code>Zend_Service</code>
-		je abstraktní třída, která poskytuje základ
-		pro implementaci webových služeb jako je SOAP nebo REST.
-	</para>
-	<para>
-		Pokud potřebuje podporu obecných REST služeb založených na XML, můžete
-		se podívat na
-		<link linkend="zend.rest.client">
-			<code>Zend_Rest_Client</code>
-		</link>
-		.
-	</para>
-	<para>
-		Kromě možností pro rozšíření
-		<code>Zend_Service</code>
-		a použití
-		<code>Zend_Rest_Client</code>
-		(pro webové služby založené na REST), Zend
-		také nabízí podporu pro populární webové služby. Navštivte následující
-		sekce pro detailní informace o každé z podporovaných služeb.
-	</para>
+    <title>Úvod</title>
+    <para>
+        <code>Zend_Service</code> je abstraktní třída, která poskytuje základ
+        pro implementaci webových služeb jako je SOAP nebo REST.
+    </para>
+    <para>
+        Pokud potřebuje podporu obecných REST služeb založených na XML, můžete
+        se podívat na
+        <link linkend="zend.rest.client"><code>Zend_Rest_Client</code></link>.
+    </para>
+    <para>
+        Kromě možností pro rozšíření <code>Zend_Service</code> a použití
+        <code>Zend_Rest_Client</code> (pro webové služby založené na REST), Zend
+        také nabízí podporu pro populární webové služby. Navštivte následující
+        sekce pro detailní informace o každé z podporovaných služeb.
+    </para>
 
-	<itemizedlist>
-		<listitem>
-			<para>
-				<link linkend="zend.service.akismet">Akismet</link>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<link linkend="zend.service.amazon">Amazon</link>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<link linkend="zend.service.audioscrobbler">Audioscrobbler</link>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<link linkend="zend.service.delicious">Del.icio.us</link>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<link linkend="zend.service.flickr">Flickr</link>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<link linkend="zend.service.simpy">Simpy</link>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<link linkend="zend.service.slideshare">SlideShare</link>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<link linkend="zend.service.strikeiron">StrikeIron</link>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<link linkend="zend.service.yahoo">Yahoo!</link>
-			</para>
-		</listitem>
-	</itemizedlist>
+    <itemizedlist>
+        <listitem>
+            <para>
+                <link linkend="zend.service.akismet">Akismet</link>
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+                <link linkend="zend.service.amazon">Amazon</link>
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+                <link linkend="zend.service.audioscrobbler">Audioscrobbler</link>
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+                <link linkend="zend.service.delicious">Del.icio.us</link>
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+                <link linkend="zend.service.flickr">Flickr</link>
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+                <link linkend="zend.service.simpy">Simpy</link>
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+                <link linkend="zend.service.slideshare">SlideShare</link>
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+                <link linkend="zend.service.strikeiron">StrikeIron</link>
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+                <link linkend="zend.service.yahoo">Yahoo!</link>
+            </para>
+        </listitem>
+    </itemizedlist>
 
-	<para>
-		Další služby budou přístupné v budoucnosti.
+    <para>
+        Další služby budou přístupné v budoucnosti.
     </para>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 21 - 29
documentation/manual/cs/module_specs/Zend_Version.xml

@@ -1,41 +1,33 @@
 <sect1 id="zend.version.reading">
 
-	<title>Získání informací o verzi Zend Frameworku</title>
+    <title>Získání informací o verzi Zend Frameworku</title>
 
-	<para>
-		Hodnotou konstanty
-		<code>Zend_Version::VERSION</code>
-		je
-		řetězec označující aktuální číslo verze, např. "0.9.0beta".
-	</para>
+    <para>
+        Hodnotou konstanty <code>Zend_Version::VERSION</code> je
+        řetězec označující aktuální číslo verze, např. "0.9.0beta".
+    </para>
 
-	<para>
-		Statická metoda
-		<code>Zend_Version::compareVersion($version)</code>
-		pracuje s funkcí
-		<ulink url="http://php.net/version_compare">
-			<code>version_compare()</code>
-		</ulink>
-		.
-		Tato metoda vrací -1 v případě, že parametr
-		<code>$version</code>
-		udává starší
-		verzi, než je aktuální verze Zend Frameworku, 0 pokud je verze stejná
-		a +1 v případě, že parametr
-		<code>$version</code>
-		označuje novější verzi
-		Zend Frameworku.
-	</para>
+    <para>
+        Statická metoda <code>Zend_Version::compareVersion($version)</code>
+        pracuje s funkcí
+        <ulink url="http://php.net/version_compare"><code>version_compare()</code></ulink>.
+        Tato metoda vrací -1 v případě, že parametr <code>$version</code> udává starší
+        verzi, než je aktuální verze Zend Frameworku, 0 pokud je verze stejná
+        a +1 v případě, že parametr <code>$version</code> označuje novější verzi
+        Zend Frameworku.
+    </para>
 
-	<example id="zend.version.reading.example">
-		<title>Příklad využití metody compareVersion()</title>
-		<programlisting role="php"><![CDATA[<?php
+   <example id="zend.version.reading.example">
+        <title>Příklad využití metody compareVersion()</title>
+        <programlisting role="php"><![CDATA[<?php
 
 // vrací -1, 0, nebo 1
 $cmp = Zend_Version::compareVersion('1.0.0');
 
 ?>]]></programlisting>
-	</example>
+    </example>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 10 - 12
documentation/manual/cs/ref/copyrights.xml

@@ -1,18 +1,16 @@
 <appendix id="copyrights">
-	<title>Informace o autorských právech</title>
+    <title>Informace o autorských právech</title>
 
-	<para>
-		Následující informace o autorských právech platí pro všechny části Zend
-		Frameworku.
+    <para>
+        Následující informace o autorských právech platí pro všechny části Zend Frameworku.
     </para>
 
-	<para>
-		Copyright &#169; 2005-<?dbtimestamp format="Y"?>
-		Zend Technologies Inc.
-		(
-		<ulink url="http://www.zend.com" />
-		)
-	</para>
+    <para>
+        Copyright &#169; 2005-<?dbtimestamp format="Y"?> Zend Technologies Inc.
+        (<ulink url="http://www.zend.com" />)
+    </para>
 
 </appendix>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 71 - 106
documentation/manual/cs/ref/installation.xml

@@ -1,116 +1,81 @@
 <sect1 id="introduction.installation">
 
-	<title>Instalace</title>
+    <title>Instalace</title>
 
-	<para>
-		Zend Framework je vytvořen s využitím objektově orientovaného PHP 5
-		a vyžaduje PHP 5.1.4 nebo vyšší. Podívejte se na
-		<link linkend="requirements">systémové požadavky</link>
-		pro detailní informace.
-	</para>
+    <para>
+        Zend Framework je vytvořen s využitím objektově orientovaného PHP 5
+        a vyžaduje PHP 5.1.4 nebo vyšší. Podívejte se na
+        <link linkend="requirements">systémové požadavky</link> pro detailní informace.
+    </para>
 
-	<para>
-		Když je připraveno odpovídající prostředí, další krok je získání kopie
-		Zend Frameworku,
-		což může být učiněno následujícími oficiálními cestami:
-		<itemizedlist>
-			<listitem>
-				<para>
-					<ulink url="http://framework.zend.com/download">Stáhnout poslední stabilní verzi.</ulink>
-					Tato verze, dostupná v
-					<code>.zip</code>
-					nebo
-					<code>.tar.gz</code>
-					, je správná volba pro
-					začátečníky se Zend Frameworkem.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<ulink url="http://framework.zend.com/download/snapshot">Stáhnout poslední noční snapshot.</ulink>
-					Těm, kteří jsou ochotni pracovat na ostří nože, poskytuje noční
-					snapshot poslední pokrok ve vývoji Zend Frameworku.
-					Snapshoty jsou zabaleny buď jen s dokumentací v angličtině nebo ve všech
-					dostupných jazycích. Pokud hodláte
-					pracovat s nejnovějšími změnami ve vývoji Zend Frameworku, zvažte použití
-					Subversion (SVN) klienta.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					Použití
-					<ulink url="http://subversion.tigris.org">Subversion</ulink>
-					(SVN) klienta. Zend Framework
-					je open source software a Subversion repositář použitý pro jeho vývoj
-					je veřejně přístupný. Zvažte
-					využítí SVN pokud už používáte SVN pro vývoj svých aplikací, chcete
-					přispívat zpět do frameworku
-					nebo potřebuje využívat ještě nevydané verze frameworku.
-				</para>
-				<para>
-					<ulink
-						url="http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.export.html">Exportování</ulink>
-					je
-					užitečné, pokud potřebuje získat konkrétní revizi frameworku bez
-					<code>.svn</code>
-					adresářů, které
-					jsou vytvořeny v pracovní kopii.
-				</para>
-				<para>
-					<ulink
-						url="http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.checkout.html">Checkout pracovní kopie</ulink>
-					je je vhodný pokud chcete přispívat do Zend Frameworku a pracovní
-					kopie může být kdykoliv aktualizována pomocí
-					<ulink
-						url="http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.update.html">
-						<code>svn
-							update</code>
-					</ulink>
-					.
-				</para>
-				<para>
-					<ulink
-						url="http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html">Externals definition</ulink>
-					je vhodná pro vývojáře používající SVN pro správu pracovních kopií
-					svých aplikací.
-				</para>
-				<para>
-					URL hlavního vývojového stromu (trunk) Zend Framework repositáře
-					je:
-					<ulink url="http://framework.zend.com/svn/framework/trunk">http://framework.zend.com/svn/framework/trunk</ulink>
-				</para>
-			</listitem>
-		</itemizedlist>
-	</para>
+    <para>
+        Když je připraveno odpovídající prostředí, další krok je získání kopie Zend Frameworku,
+        což může být učiněno následujícími oficiálními cestami:
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <ulink url="http://framework.zend.com/download">Stáhnout poslední stabilní verzi.</ulink>
+                    Tato verze, dostupná v <code>.zip</code> nebo <code>.tar.gz</code>, je správná volba pro
+                    začátečníky se Zend Frameworkem.
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <ulink url="http://framework.zend.com/download/snapshot">Stáhnout poslední noční snapshot.</ulink>
+                    Těm, kteří jsou ochotni pracovat na ostří nože, poskytuje noční snapshot poslední pokrok ve vývoji Zend Frameworku.
+                    Snapshoty jsou zabaleny buď jen s dokumentací v angličtině nebo ve všech dostupných jazycích. Pokud hodláte
+                    pracovat s nejnovějšími změnami ve vývoji Zend Frameworku, zvažte použití Subversion (SVN) klienta.
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    Použití <ulink url="http://subversion.tigris.org">Subversion</ulink> (SVN) klienta. Zend Framework
+                    je open source software a Subversion repositář použitý pro jeho vývoj je veřejně přístupný. Zvažte
+                    využítí SVN pokud už používáte SVN pro vývoj svých aplikací, chcete přispívat zpět do frameworku
+                    nebo potřebuje využívat ještě nevydané verze frameworku.
+                </para>
+                <para>
+                    <ulink url="http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.export.html">Exportování</ulink> je
+                    užitečné, pokud potřebuje získat konkrétní revizi frameworku bez <code>.svn</code> adresářů, které
+                    jsou vytvořeny v pracovní kopii.
+                </para>
+                <para>
+                    <ulink url="http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.checkout.html">Checkout pracovní kopie</ulink>
+                    je je vhodný pokud chcete přispívat do Zend Frameworku a pracovní kopie může být kdykoliv aktualizována pomocí
+                    <ulink url="http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.update.html"><code>svn
+                    update</code></ulink>.
+                </para>
+                <para>
+                    <ulink url="http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html">Externals definition</ulink>
+                    je vhodná pro vývojáře používající SVN pro správu pracovních kopií svých aplikací.
+                </para>
+                <para>
+                    URL hlavního vývojového stromu (trunk) Zend Framework repositáře je:
+                    <ulink url="http://framework.zend.com/svn/framework/trunk">http://framework.zend.com/svn/framework/trunk</ulink>
+                </para>
+            </listitem>
+        </itemizedlist>
+    </para>
 
-	<para>
-		Až získáte kopii Zend Frameworku, musíte vaší aplikace umožnit přístup
-		k třídám frameworku.
-		Existuje
-		<ulink url="http://www.php.net/manual/en/configuration.changes.php">
-			několik cest, jak toho dosáhnout</ulink>
-		, vaše PHP
-		<ulink url="http://www.php.net/manual/en/ini.core.php#ini.include-path">
-			<code>include_path</code>
-		</ulink>
-		musí obsahovat cestu ke knihovně Zend Framework.
-	</para>
+    <para>
+        Až získáte kopii Zend Frameworku, musíte vaší aplikace umožnit přístup k třídám frameworku.
+        Existuje <ulink url="http://www.php.net/manual/en/configuration.changes.php">
+        několik cest, jak toho dosáhnout</ulink>, vaše PHP
+        <ulink url="http://www.php.net/manual/en/ini.core.php#ini.include-path"><code>include_path</code></ulink>
+        musí obsahovat cestu ke knihovně Zend Framework.
+    </para>
 
-	<para>
-		Jedna z nejdůležitějších vlastností Zend Frameworku je vlastní
-		implementace
-		<ulink url="http://www.martinfowler.com/eaaCatalog/frontController.html">Front Controlleru</ulink>
-		a
-		návrhového vzoru
-		<ulink url="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller</ulink>
-		(MVC).
-		<link linkend="zend.controller.quickstart">Začněte se Zend Framework MVC!</link>
-	</para>
+    <para>
+        Jedna z nejdůležitějších vlastností Zend Frameworku je vlastní implementace
+        <ulink url="http://www.martinfowler.com/eaaCatalog/frontController.html">Front Controlleru</ulink> a
+        návrhového vzoru
+        <ulink url="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller</ulink> (MVC).
+        <link linkend="zend.controller.quickstart">Začněte se Zend Framework MVC!</link>
+    </para>
 
-	<para>
-		Protože komponenty Zend Frameworku jsou volně spojeny, mohou být použity
-		jednotlivě, podle potřeby.
-		Každá z následujících kapitol popisuje použití konkrétní komponenty.
+    <para>
+        Protože komponenty Zend Frameworku jsou volně spojeny, mohou být použity jednotlivě, podle potřeby.
+        Každá z následujících kapitol popisuje použití konkrétní komponenty.
     </para>
 
 </sect1>

+ 1 - 1
documentation/manual/cs/ref/language-snippets.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 
 <!-- links -->
 <!ENTITY lang                                   'cs'>

+ 10 - 10
documentation/manual/cs/ref/overview.xml

@@ -1,19 +1,19 @@
 <sect1 id="introduction.overview">
 
-	<title>Všeobecný přehled</title>
+    <title>Všeobecný přehled</title>
 
-	<para>
+    <para>
 
-		Zend Framework je vysoce kvalitní open source framework pro tvorbu
-		Webových aplikací a služeb pomocí PHP.
+        Zend Framework je vysoce kvalitní open source framework pro tvorbu
+        Webových aplikací a služeb pomocí PHP.
     </para>
 
-	<para>
-		Zend Framework, postavený v opravdovém duchu PHP, poskytuje snadno
-		použitelnou
-		a mocnou funkcionalitu. Umožuje vytváření řešení pro moderní, robustné
-		a bezpečné weby.
+    <para>
+        Zend Framework, postavený v opravdovém duchu PHP, poskytuje snadno použitelnou
+        a mocnou funkcionalitu. Umožuje vytváření řešení pro moderní, robustné a bezpečné weby.
     </para>
 
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 928 - 2039
documentation/manual/cs/ref/requirements.xml

@@ -1,2067 +1,956 @@
 <appendix id="requirements">
 
-	<title>Systémové požadavky</title>
+    <title>Systémové požadavky</title>
 
-	<para>
-		Tato sekce dokumentuje požadavky pro Zend Framework.
+    <para>
+        Tato sekce dokumentuje požadavky pro Zend Framework.
     </para>
 
-	<sect1 id="requirements.version">
+    <sect1 id="requirements.version">
 
-		<title>Požadovaná verze PHP</title>
+        <title>Požadovaná verze PHP</title>
 
-		<para>
-			Zend Framework vyžaduje PHP 5.1.4 nebo vyšší. Některá SPL rozhraní
-			jako například
-			<code>Countable</code>
-			nebyla v předchozích
-			verzích PHP stabilní.
-		</para>
+        <para>
+            Zend Framework vyžaduje PHP 5.1.4 nebo vyšší. Některá SPL rozhraní
+            jako například <code>Countable</code> nebyla v předchozích
+            verzích PHP stabilní.
+        </para>
 
-		<para>
-			Zend Framework má obsáhlou kolekci automatických testů, které můžete
-			spustit s použitím PHPUnit 3.0 nebo vyšší. Tato verze PHPUnit také
-			vyžaduje PHP 5.1.4 nebo vyšší.
+        <para>
+            Zend Framework má obsáhlou kolekci automatických testů, které můžete
+            spustit s použitím PHPUnit 3.0 nebo vyšší. Tato verze PHPUnit také
+            vyžaduje PHP 5.1.4 nebo vyšší.
         </para>
 
-		<para>
-			Přestože Zend Framework bude fungovat správně s verzí PHP zmíněnou výše,
-			doporučujeme použití PHP 5.2.3 nebo vyšší. Novější verze PHP obsahuje
-			důležitá bezpečnostní a výkonová vylepšení.
+        <para>
+            Přestože Zend Framework bude fungovat správně s verzí PHP zmíněnou výše,
+            doporučujeme použití PHP 5.2.3 nebo vyšší. Novější verze PHP obsahuje
+            důležitá bezpečnostní a výkonová vylepšení.
         </para>
 
-	</sect1>
+    </sect1>
 
-	<sect1 id="requirements.extensions">
+    <sect1 id="requirements.extensions">
 
-		<title>PHP rozšíření (Extensions)</title>
+        <title>PHP rozšíření (Extensions)</title>
 
-		<para>
-			Následující tabulka obsahuje všechna rozšíření běžně použitá v PHP
-			a jejich použití v Zend Frameworku. Tato tabulka vám může pomoci
-			zjistit,
-			která rozšíření jsou potřebná pro vaši aplikaci. Ne všechna rozšíření
-			použitá Zend Frameworkem jsou potřebná pro každou aplikaci.
+        <para>
+            Následující tabulka obsahuje všechna rozšíření běžně použitá v PHP
+            a jejich použití v Zend Frameworku. Tato tabulka vám může pomoci zjistit,
+            která rozšíření jsou potřebná pro vaši aplikaci. Ne všechna rozšíření
+            použitá Zend Frameworkem jsou potřebná pro každou aplikaci.
         </para>
 
-		<para>
-			Typ použití "Závislost" znamená, že komponenta nebo třídy nejsou
-			použitelné bez přislušného rozšíření. Způsob použití "Volitelné"
-			znamená, že pokud rozšíření není dostupné, komponenta nebo třídy
-			automaticky použije alternativní kód.
+        <para>
+            Typ použití "Závislost" znamená, že komponenta nebo třídy nejsou
+            použitelné bez přislušného rozšíření. Způsob použití "Volitelné"
+            znamená, že pokud rozšíření není dostupné, komponenta nebo třídy
+            automaticky použije alternativní kód.
         </para>
 
-		<table frame='all' id="requirements.extensions.table-1">
-			<title>PHP rozšíření použitá v Zend Frameworku</title>
-			<tgroup cols='3'>
-				<colspec colwidth='1in' />
-				<colspec colwidth='1in' />
-				<colspec colwidth='3in' />
-				<thead>
-					<row>
-						<entry>Rozšíření</entry>
-						<entry>Typ použití</entry>
-						<entry>Použito komponentami Zend Frameworku</entry>
-					</row>
-				</thead>
-				<tbody>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.apc.php">
-								<code>apc</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.cache.backends.html">
-								<code>Zend_Cache_Backend_Apc</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.bc.php">
-								<code>bcmath</code>
-							</ulink>
-						</entry>
-						<entry>Volitelné</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.locale.html">
-								<code>Zend_Locale_Math</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://pecl.php.net/package/Bitset">
-								<code>bitset</code>
-							</ulink>
-						</entry>
-						<entry>Volitelné</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.search.lucene.html">
-								<code>Zend_Search_Lucene</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.bzip2.php">
-								<code>bz2</code>
-							</ulink>
-						</entry>
-						<entry>--</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.calendar.php">
-								<code>calendar</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.com.php">
-								<code>com_dotnet</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ctype.php">
-								<code>ctype</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.auth.adapter.http.html">
-								<code>Zend_Auth_Adapter_Http</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.gdata.html">
-								<code>Zend_Gdata_App</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.http.html">
-								<code>Zend_Http_Client</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.pdf.html">
-								<code>Zend_Pdf</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.client.html">
-								<code>Zend_Rest_Client</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.server.html">
-								<code>Zend_Rest_Server</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.search.lucene.html">
-								<code>Zend_Search_Lucene</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.uri.html">
-								<code>Zend_Uri</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.validate.html">
-								<code>Zend_Validate</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.curl.php">
-								<code>curl</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.http.client.adapters.html">
-								<code>Zend_Http_Client_Adapter_Curl</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.datetime.php">
-								<code>date</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dba.php">
-								<code>dba</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dbase.php">
-								<code>dbase</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.feed.html">
-								<code>Zend_Feed</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.gdata.html">
-								<code>Zend_Gdata</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.log.formatters.html">
-								<code>Zend_Log_Formatter_Xml</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.server.html">
-								<code>Zend_Rest_Server</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.search.lucene.html">
-								<code>Zend_Search_Lucene</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.amazon.html">
-								<code>Zend_Service_Amazon</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.delicious.html">
-								<code>Zend_Service_Delicious</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.flickr.html">
-								<code>Zend_Service_Flickr</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.simpy.html">
-								<code>Zend_Service_Simpy</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.yahoo.html">
-								<code>Zend_Service_Yahoo</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.html">
-								<code>Zend_XmlRpc</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.exif.php">
-								<code>exif</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.fbsql.php">
-								<code>fbsql</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.fdf.php">
-								<code>fdf</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.filter.php">
-								<code>filter</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ftp.php">
-								<code>ftp</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.image.php">
-								<code>gd</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.pdf.html">
-								<code>Zend_Pdf</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.gettext.php">
-								<code>gettext</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.gmp.php">
-								<code>gmp</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.hash.php">
-								<code>hash</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.auth.adapter.http.html">
-								<code>Zend_Auth_Adapter_Http</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ibm-db2.php">
-								<code>ibm_db2</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Db2</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.iconv.php">
-								<code>iconv</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.locale.parsing.html">
-								<code>Zend_Locale_Format</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.mime.html">
-								<code>Zend_Mime_Decode</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.pdf.html">
-								<code>Zend_Pdf</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.search.lucene.html">
-								<code>Zend_Search_Lucene</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.audioscrobbler.html">
-								<code>Zend_Service_Audioscrobbler</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.flickr.html">
-								<code>Zend_Service_Flickr</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.xmlrpc.client.html">
-								<code>Zend_XmlRpc_Client</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.imap.php">
-								<code>imap</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ifx.php">
-								<code>informix</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ibase.php">
-								<code>interbase</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>Zend_Db_Adapter_Firebird</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.json.php">
-								<code>json</code>
-							</ulink>
-						</entry>
-						<entry>Volitelné</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.json.html">
-								<code>Zend_Json</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ldap.php">
-								<code>ldap</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>DOM</code>
-							</ulink>
-							,
-							<ulink url="http://www.php.net/manual/en/ref.simplexml.php">
-								<code>SimpleXML</code>
-							</ulink>
-							,
-							<ulink url="http://www.php.net/manual/en/ref.xslt.php">
-								<code>XSLT</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.mbstring.php">
-								<code>mbstring</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.feed.html">
-								<code>Zend_Feed</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.mcrypt.php">
-								<code>mcrypt</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.memcache.php">
-								<code>memcache</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.cache.backends.html">
-								<code>Zend_Cache_Backend_Memcached</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.mhash.php">
-								<code>mhash</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.mime-magic.php">
-								<code>mime_magic</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.http.html">
-								<code>Zend_Http_Client</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ming.php">
-								<code>ming</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.msql.php">
-								<code>msql</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.mssql.php">
-								<code>mssql</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.mysql.php">
-								<code>mysql</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.mysqli.php">
-								<code>mysqli</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Mysqli</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ncurses.php">
-								<code>ncurses</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.oci8.php">
-								<code>oci8</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Oracle</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.uodbc.php">
-								<code>odbc</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.openssl.php">
-								<code>openssl</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pcntl.php">
-								<code>pcntl</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pcre.php">
-								<code>pcre</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>Virtually all components</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pdo.php">
-								<code>pdo</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>All PDO database adapters</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pdo-dblib.php">
-								<code>pdo_dblib</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pdo-firebird.php">
-								<code>pdo_firebird</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<code>pdo_mssql</code>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Mssql</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pdo-mysql.php">
-								<code>pdo_mysql</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Mysql</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pdo-oci.php">
-								<code>pdo_oci</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Oci</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pdo-pgsql.php">
-								<code>pdo_pgsql</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Pgsql</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pdo-sqlite.php">
-								<code>pdo_sqlite</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Sqlite</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pgsql.php">
-								<code>pgsql</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.posix.php">
-								<code>posix</code>
-							</ulink>
-						</entry>
-						<entry>Volitelné</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.mail.html">
-								<code>Zend_Mail</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pspell.php">
-								<code>pspell</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.readline.php">
-								<code>readline</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.recode.php">
-								<code>recode</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.controller.html">
-								<code>Zend_Controller</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.filter.html">
-								<code>Zend_Filter</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.filter.input.html">
-								<code>Zend_Filter_Input</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.json.html">
-								<code>Zend_Json</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.log.html">
-								<code>Zend_Log</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.server.html">
-								<code>Zend_Rest_Server</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.server.reflection.html">
-								<code>Zend_Server_Reflection</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.validate.html">
-								<code>Zend_Validate</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.view.html">
-								<code>Zend_View</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.xmlrpc.server.html">
-								<code>Zend_XmlRpc_Server</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.session.php">
-								<code>session</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.controller.actionhelpers.html">
-								<code>Zend_Controller_Action_Helper_Redirector</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.session.html">
-								<code>Zend_Session</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.shmop.php">
-								<code>shmop</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.simplexml.php">
-								<code>SimpleXML</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.config.adapters.xml.html">
-								<code>Zend_Config_Xml</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.feed.html">
-								<code>Zend_Feed</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.client.html">
-								<code>Zend_Rest_Client</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.audioscrobbler.html">
-								<code>Zend_Service_Audioscrobbler</code>
-							</ulink>
-							,
-							<ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.html">
-								<code>Zend_XmlRpc</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.soap.php">
-								<code>soap</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.strikeiron.html">
-								<code>Zend_Service_StrikeIron</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.sockets.php">
-								<code>sockets</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.spl.php">
-								<code>SPL</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>Virtually all components</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.sqlite.php">
-								<code>SQLite</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.cache.backends.html">Zend_Cache_Backend_Sqlite</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<code>standard</code>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>Virtually all components</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.sybase.php">
-								<code>sybase</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>sysvmsg</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>sysvsem</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>sysvshm</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.tidy.php">
-								<code>tidy</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.tokenizer.php">
-								<code>tokenizer</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.wddx.php">
-								<code>wddx</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.xml.php">
-								<code>xml</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.translate.adapter.html">
-								<code>Zend_Translate_Adapter_Qt</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.translate.adapter.html">
-								<code>Zend_Translate_Adapter_Tmx</code>
-							</ulink>
-							,
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.translate.adapter.html">
-								<code>Zend_Translate_Adapter_Xliff</code>
-							</ulink>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.xmlreader.php">
-								<code>XMLReader</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.xmlrpc.php">
-								<code>xmlrpc</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.xmlwriter.php">
-								<code>XMLWriter</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.xsl.php">
-								<code>xsl</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.zip.php">
-								<code>zip</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-						<entry></entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.zlib.php">
-								<code>zlib</code>
-							</ulink>
-						</entry>
-						<entry>Závislost</entry>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.pdf.html">
-								<code>Zend_Pdf</code>
-							</ulink>
-							,
-							<ulink url="http://www.php.net/manual/en/ref.memcache.php">
-								<code>Memcache</code>
-							</ulink>
-						</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
+        <table frame='all' id="requirements.extensions.table-1">
+            <title>PHP rozšíření použitá v Zend Frameworku</title>
+            <tgroup cols='3'>
+                <colspec colwidth='1in'/>
+                <colspec colwidth='1in'/>
+                <colspec colwidth='3in'/>
+                <thead>
+                    <row>
+                        <entry>Rozšíření</entry>
+                        <entry>Typ použití</entry>
+                        <entry>Použito komponentami Zend Frameworku</entry>
+                    </row>
+                </thead>
+                <tbody>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.apc.php"><code>apc</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.cache.backends.html"><code>Zend_Cache_Backend_Apc</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.bc.php"><code>bcmath</code></ulink></entry>
+                        <entry>Volitelné</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.locale.html"><code>Zend_Locale_Math</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://pecl.php.net/package/Bitset"><code>bitset</code></ulink></entry>
+                        <entry>Volitelné</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.search.lucene.html"><code>Zend_Search_Lucene</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.bzip2.php"><code>bz2</code></ulink></entry>
+                        <entry>--</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.calendar.php"><code>calendar</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.com.php"><code>com_dotnet</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.ctype.php"><code>ctype</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>
+                           <ulink url="http://framework.zend.com/manual/en/zend.auth.adapter.http.html"><code>Zend_Auth_Adapter_Http</code></ulink>,
+                           <ulink url="http://framework.zend.com/manual/en/zend.gdata.html"><code>Zend_Gdata_App</code></ulink>,
+                           <ulink url="http://framework.zend.com/manual/en/zend.http.html"><code>Zend_Http_Client</code></ulink>,
+                           <ulink url="http://framework.zend.com/manual/en/zend.pdf.html"><code>Zend_Pdf</code></ulink>,
+                           <ulink url="http://framework.zend.com/manual/en/zend.rest.client.html"><code>Zend_Rest_Client</code></ulink>,
+                           <ulink url="http://framework.zend.com/manual/en/zend.rest.server.html"><code>Zend_Rest_Server</code></ulink>,
+                           <ulink url="http://framework.zend.com/manual/en/zend.search.lucene.html"><code>Zend_Search_Lucene</code></ulink>,
+                           <ulink url="http://framework.zend.com/manual/en/zend.uri.html"><code>Zend_Uri</code></ulink>,
+                           <ulink url="http://framework.zend.com/manual/en/zend.validate.html"><code>Zend_Validate</code></ulink>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.curl.php"><code>curl</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.http.client.adapters.html"><code>Zend_Http_Client_Adapter_Curl</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.datetime.php"><code>date</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.dba.php"><code>dba</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.dbase.php"><code>dbase</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>
+                            <ulink url="http://framework.zend.com/manual/en/zend.feed.html"><code>Zend_Feed</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.gdata.html"><code>Zend_Gdata</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.log.formatters.html"><code>Zend_Log_Formatter_Xml</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.rest.server.html"><code>Zend_Rest_Server</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.search.lucene.html"><code>Zend_Search_Lucene</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.service.amazon.html"><code>Zend_Service_Amazon</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.service.delicious.html"><code>Zend_Service_Delicious</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.service.flickr.html"><code>Zend_Service_Flickr</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.service.simpy.html"><code>Zend_Service_Simpy</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.service.yahoo.html"><code>Zend_Service_Yahoo</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.html"><code>Zend_XmlRpc</code></ulink>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.exif.php"><code>exif</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.fbsql.php"><code>fbsql</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.fdf.php"><code>fdf</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.filter.php"><code>filter</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.ftp.php"><code>ftp</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.image.php"><code>gd</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.pdf.html"><code>Zend_Pdf</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.gettext.php"><code>gettext</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.gmp.php"><code>gmp</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.hash.php"><code>hash</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.auth.adapter.http.html"><code>Zend_Auth_Adapter_Http</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.ibm-db2.php"><code>ibm_db2</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Db2</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.iconv.php"><code>iconv</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>
+                            <ulink url="http://framework.zend.com/manual/en/zend.locale.parsing.html"><code>Zend_Locale_Format</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.mime.html"><code>Zend_Mime_Decode</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.pdf.html"><code>Zend_Pdf</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.search.lucene.html"><code>Zend_Search_Lucene</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.service.audioscrobbler.html"><code>Zend_Service_Audioscrobbler</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.service.flickr.html"><code>Zend_Service_Flickr</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.client.html"><code>Zend_XmlRpc_Client</code></ulink>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.imap.php"><code>imap</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.ifx.php"><code>informix</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.ibase.php"><code>interbase</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>Zend_Db_Adapter_Firebird</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.json.php"><code>json</code></ulink></entry>
+                        <entry>Volitelné</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.json.html"><code>Zend_Json</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.ldap.php"><code>ldap</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>DOM</code></ulink>,
+                            <ulink url="http://www.php.net/manual/en/ref.simplexml.php"><code>SimpleXML</code></ulink>,
+                            <ulink url="http://www.php.net/manual/en/ref.xslt.php"><code>XSLT</code></ulink>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.mbstring.php"><code>mbstring</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.feed.html"><code>Zend_Feed</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.mcrypt.php"><code>mcrypt</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.memcache.php"><code>memcache</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.cache.backends.html"><code>Zend_Cache_Backend_Memcached</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.mhash.php"><code>mhash</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.mime-magic.php"><code>mime_magic</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.http.html"><code>Zend_Http_Client</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.ming.php"><code>ming</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.msql.php"><code>msql</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.mssql.php"><code>mssql</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.mysql.php"><code>mysql</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.mysqli.php"><code>mysqli</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Mysqli</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.ncurses.php"><code>ncurses</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.oci8.php"><code>oci8</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Oracle</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.uodbc.php"><code>odbc</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.openssl.php"><code>openssl</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pcntl.php"><code>pcntl</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pcre.php"><code>pcre</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>Virtually all components</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pdo.php"><code>pdo</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>All PDO database adapters</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pdo-dblib.php"><code>pdo_dblib</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pdo-firebird.php"><code>pdo_firebird</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><code>pdo_mssql</code></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Mssql</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pdo-mysql.php"><code>pdo_mysql</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Mysql</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pdo-oci.php"><code>pdo_oci</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Oci</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pdo-pgsql.php"><code>pdo_pgsql</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Pgsql</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pdo-sqlite.php"><code>pdo_sqlite</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Sqlite</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pgsql.php"><code>pgsql</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.posix.php"><code>posix</code></ulink></entry>
+                        <entry>Volitelné</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.mail.html"><code>Zend_Mail</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.pspell.php"><code>pspell</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.readline.php"><code>readline</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.recode.php"><code>recode</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>
+                            <ulink url="http://framework.zend.com/manual/en/zend.controller.html"><code>Zend_Controller</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.filter.html"><code>Zend_Filter</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.filter.input.html"><code>Zend_Filter_Input</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.json.html"><code>Zend_Json</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.log.html"><code>Zend_Log</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.rest.server.html"><code>Zend_Rest_Server</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.server.reflection.html"><code>Zend_Server_Reflection</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.validate.html"><code>Zend_Validate</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.view.html"><code>Zend_View</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.server.html"><code>Zend_XmlRpc_Server</code></ulink>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.session.php"><code>session</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>
+                            <ulink url="http://framework.zend.com/manual/en/zend.controller.actionhelpers.html"><code>Zend_Controller_Action_Helper_Redirector</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.session.html"><code>Zend_Session</code></ulink>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.shmop.php"><code>shmop</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.simplexml.php"><code>SimpleXML</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>
+                            <ulink url="http://framework.zend.com/manual/en/zend.config.adapters.xml.html"><code>Zend_Config_Xml</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.feed.html"><code>Zend_Feed</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.rest.client.html"><code>Zend_Rest_Client</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.service.audioscrobbler.html"><code>Zend_Service_Audioscrobbler</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.html"><code>Zend_XmlRpc</code></ulink>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.soap.php"><code>soap</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.service.strikeiron.html"><code>Zend_Service_StrikeIron</code></ulink></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.sockets.php"><code>sockets</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.spl.php"><code>SPL</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>Virtually all components</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.sqlite.php"><code>SQLite</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.cache.backends.html">Zend_Cache_Backend_Sqlite</ulink></entry>
+                    </row>
+                    <row>
+                        <entry><code>standard</code></entry>
+                        <entry>Závislost</entry>
+                        <entry>Virtually all components</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.sybase.php"><code>sybase</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry>sysvmsg</entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry>sysvsem</entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry>sysvshm</entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.tidy.php"><code>tidy</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.tokenizer.php"><code>tokenizer</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.wddx.php"><code>wddx</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.xml.php"><code>xml</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>
+                            <ulink url="http://framework.zend.com/manual/en/zend.translate.adapter.html"><code>Zend_Translate_Adapter_Qt</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.translate.adapter.html"><code>Zend_Translate_Adapter_Tmx</code></ulink>,
+                            <ulink url="http://framework.zend.com/manual/en/zend.translate.adapter.html"><code>Zend_Translate_Adapter_Xliff</code></ulink>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.xmlreader.php"><code>XMLReader</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.xmlrpc.php"><code>xmlrpc</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.xmlwriter.php"><code>XMLWriter</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.xsl.php"><code>xsl</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.zip.php"><code>zip</code></ulink></entry>
+                        <entry>---</entry>
+                        <entry></entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://www.php.net/manual/en/ref.zlib.php"><code>zlib</code></ulink></entry>
+                        <entry>Závislost</entry>
+                        <entry>
+                            <ulink url="http://framework.zend.com/manual/en/zend.pdf.html"><code>Zend_Pdf</code></ulink>,
+                            <ulink url="http://www.php.net/manual/en/ref.memcache.php"><code>Memcache</code></ulink>
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
 
-	</sect1>
+    </sect1>
 
-	<sect1 id="requirements.zendcomponents">
+    <sect1 id="requirements.zendcomponents">
 
-		<title>Zend Framework komponenty</title>
+        <title>Zend Framework komponenty</title>
 
-		<para>
-			Následující tabulka obsahuje seznam všech komponent Zend Frameworku
-			a která PHP rozšíření potřebují. Tato tabulka vám může pomoci
-			zjistit, které rozšíření jsou potřebná pro vaši aplikaci. Ne všechna
-			rozšíření použitá Zend Frameworkem jsou potřebná pro každou aplikaci.
+        <para>
+            Následující tabulka obsahuje seznam všech komponent Zend Frameworku
+            a která PHP rozšíření potřebují. Tato tabulka vám může pomoci
+            zjistit, které rozšíření jsou potřebná pro vaši aplikaci. Ne všechna
+            rozšíření použitá Zend Frameworkem jsou potřebná pro každou aplikaci.
         </para>
 
-		<table frame='all' id="requirements.zendcomponents.table-1">
-			<title>Zend Framework komponenty a PHP rozšíření která používají</title>
-			<tgroup cols='3'>
-				<colspec colwidth='2in' />
-				<colspec colwidth='4in' />
-				<thead>
-					<row>
-						<entry>Zend Framework komponenta</entry>
-						<entry>PHP Rozšíření ( Podtřída / Typ použití)</entry>
-					</row>
-				</thead>
-				<tbody>
-					<row>
-						<entry>Všechny komponenty</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.pcre.php">
-								<code>pcre</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.spl.php">
-								<code>SPL</code>
-							</ulink>
-							( Závislost )
-							<code>standard</code>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.acl.html">
-								<code>Zend_Acl</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.auth.html">
-								<code>Zend_Auth</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ctype.php">
-								<code>ctype</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.auth.adapter.http.html">
-								<code>Zend_Auth_Adapter_Http</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.hash.php">
-								<code>hash</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.auth.adapter.http.html">
-								<code>Zend_Auth_Adapter_Http</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.cache.html">
-								<code>Zend_Cache</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.apc.php">
-								<code>apc</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.cache.backends.html">
-								<code>Zend_Cache_Backend_Apc</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.memcache.php">
-								<code>memcache</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.cache.backends.html">
-								<code>Zend_Cache_Backend_Memcached</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.sqlite.php">
-								<code>sqlite</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.cache.backends.html">
-								<code>Zend_Cache_Backend_Sqlite</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.zlib.php">
-								<code>zlib</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.cache.backends.html">
-								<code>Zend_Cache_Backend_Zlib</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.config.html">
-								<code>Zend_Config</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.config.adapters.xml.html">
-								<code>Zend_Config_Xml</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.simplexml.php">
-								<code>SimpleXML</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.config.adapters.xml.html">
-								<code>Zend_Config_Xml</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.console.getopt.html">
-								<code>Zend_Console_Getopt</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.controller.html">
-								<code>Zend_Controller</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.session.php">
-								<code>session</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.controller.actionhelpers.html">
-								<code>Zend_Controller_Action_Helper_Redirector</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.date.html">
-								<code>Zend_Date</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ibm-db2.php">
-								<code>ibm_db2</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Db2</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.mysqli.php">
-								<code>mysqli</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Mysqli</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.oci8.php">
-								<code>oci8</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Oracle</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.pdo.php">
-								<code>pdo</code>
-							</ulink>
-							( All PDO Adapters / Závislost )
-							<code>pdo_mssql</code>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Mssql</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.pdo-mysql.php">
-								<code>pdo_mysql</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Mysql</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.pdo-oci.php">
-								<code>pdo_oci</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Oci</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.pdo-pgsql.php">
-								<code>pdo_pgsql</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Pgsql</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.pdo-sqlite.php">
-								<code>pdo_sqlite</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.db.html">
-								<code>Zend_Db_Adapter_Pdo_Sqlite</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.debug.html">
-								<code>Zend_Debug</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.exception.html">
-								<code>Zend_Exception</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.feed.html">
-								<code>Zend_Feed</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.mbstring.php">
-								<code>mbstring</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.simplexml.php">
-								<code>SimpleXML</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.filter.html">
-								<code>Zend_Filter</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.filter.input.html">
-								<code>Zend_Filter_Input</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.gdata.html">
-								<code>Zend_Gdata</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ctype.php">
-								<code>ctype</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.gdata.html">
-								<code>Zend_Gdata_App</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.http.html">
-								<code>Zend_Http</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ctype.php">
-								<code>ctype</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.http.html">
-								<code>Zend_Http_Client</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.curl.php">
-								<code>curl</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.http.client.adapters.html">
-								<code>Zend_Http_Client_Adapter_Curl</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.mime-magic.php">
-								<code>mime_magic</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.http.html">
-								<code>Zend_Http_Client</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.json.html">
-								<code>Zend_Json</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.json.php">
-								<code>json</code>
-							</ulink>
-							( Volitelné )
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.loader.html">
-								<code>Zend_Loader</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.locale.html">
-								<code>Zend_Locale</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.bc.php">
-								<code>bcmath</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.locale.html">
-								<code>Zend_Locale_Math</code>
-							</ulink>
-							/ Volitelné )
-							<ulink url="http://www.php.net/manual/en/ref.iconv.php">
-								<code>iconv</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.locale.parsing.html">
-								<code>Zend_Locale_Format</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.log.html">
-								<code>Zend_Log</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.log.formatters.html">
-								<code>Zend_Log_Formatter_Xml</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.log.formatters.html">
-								<code>Zend_Log_Formatter_Xml</code>
-							</ulink>
-							/ Závislost )
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.mail.html">
-								<code>Zend_Mail</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.posix.php">
-								<code>posix</code>
-							</ulink>
-							( Volitelné )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.measure.html">
-								<code>Zend_Measure</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.memory.html">
-								<code>Zend_Memory</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.mime.html">
-								<code>Zend_Mime</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.iconv.php">
-								<code>iconv</code>
-							</ulink>
-							(
-							<ulink url="http://framework.zend.com/manual/en/zend.mime.html">
-								<code>Zend_Mime_Decode</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.pdf.html">
-								<code>Zend_Pdf</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ctype.php">
-								<code>ctype</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.image.php">
-								<code>gd</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.iconv.php">
-								<code>iconv</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.zlib.php">
-								<code>zlib</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.registry.html">
-								<code>Zend_Registry</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>Zend_Request</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.rest.html">
-								<code>Zend_Rest</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ctype.php">
-								<code>ctype</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.client.html">
-								<code>Zend_Rest_Client</code>
-							</ulink>
-							/ Závislost )
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.server.html">
-								<code>Zend_Rest_Server</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.server.html">
-								<code>Zend_Rest_Server</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.client.html">
-								<code>Zend_Rest_Client</code>
-							</ulink>
-							/ Závislost )
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.server.html">
-								<code>Zend_Rest_Server</code>
-							</ulink>
-							/ Závislost )
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.server.html">
-								<code>Zend_Rest_Server</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.simplexml.php">
-								<code>SimpleXML</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.rest.client.html">
-								<code>Zend_Rest_Client</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.search.lucene.html">
-								<code>Zend_Search_Lucene</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ctype.php">
-								<code>ctype</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://pecl.php.net/package/Bitset">
-								<code>bitset</code>
-							</ulink>
-							( Volitelné )
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.iconv.php">
-								<code>iconv</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.server.reflection.html">
-								<code>Zend_Server_Reflection</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.akismet.html">
-								<code>Zend_Service_Akismet</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.amazon.html">
-								<code>Zend_Service_Amazon</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.audioscrobbler.html">
-								<code>Zend_Service_Audioscrobbler</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.iconv.php">
-								<code>iconv</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.simplexml.php">
-								<code>SimpleXML</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.delicious.html">
-								<code>Zend_Service_Delicious</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.flickr.html">
-								<code>Zend_Service_Flickr</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.iconv.php">
-								<code>iconv</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.simpy.html">
-								<code>Zend_Service_Simpy</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.strikeiron.html">
-								<code>Zend_Service_StrikeIron</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.soap.php">
-								<code>soap</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.service.yahoo.html">
-								<code>Zend_Service_Yahoo</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.session.html">
-								<code>Zend_Session</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.session.php">
-								<code>session</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.translate.html">
-								<code>Zend_Translate</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.xml.php">
-								<code>xml</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.translate.adapter.html">
-								<code>Zend_Translate_Adapter_Qt</code>
-							</ulink>
-							/ Závislost )
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.translate.adapter.html">
-								<code>Zend_Translate_Adapter_Tmx</code>
-							</ulink>
-							/ Závislost )
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.translate.adapter.html">
-								<code>Zend_Translate_Adapter_Xliff</code>
-							</ulink>
-							/ Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.uri.html">
-								<code>Zend_Uri</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ctype.php">
-								<code>ctype</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.validate.html">
-								<code>Zend_Validate</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.ctype.php">
-								<code>ctype</code>
-							</ulink>
-							( Závislost )
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.version.html">
-								<code>Zend_Version</code>
-							</ulink>
-						</entry>
-						<entry>---</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.view.html">
-								<code>Zend_View</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.html">
-								<code>Zend_XmlRpc</code>
-							</ulink>
-						</entry>
-						<entry>
-							<ulink url="http://www.php.net/manual/en/ref.dom.php">
-								<code>dom</code>
-							</ulink>
-							( Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.iconv.php">
-								<code>iconv</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.xmlrpc.client.html">
-								<code>Zend_XmlRpc_Client</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.libxml.php">
-								<code>libxml</code>
-							</ulink>
-							( Závislost )
-							<ulink
-								url="http://www.php.net/manual/en/language.oop5.reflection.php">
-								<code>Reflection</code>
-							</ulink>
-							(
-							<ulink
-								url="http://framework.zend.com/manual/en/zend.xmlrpc.server.html">
-								<code>Zend_XmlRpc_Server</code>
-							</ulink>
-							/ Závislost )
-							<ulink url="http://www.php.net/manual/en/ref.simplexml.php">
-								<code>SimpleXML</code>
-							</ulink>
-							( Závislost )
-						</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
+        <table frame='all' id="requirements.zendcomponents.table-1">
+            <title>Zend Framework komponenty a PHP rozšíření která používají</title>
+            <tgroup cols='3'>
+                <colspec colwidth='2in'/>
+                <colspec colwidth='4in'/>
+                <thead>
+                    <row>
+                        <entry>Zend Framework komponenta</entry>
+                        <entry>PHP Rozšíření ( Podtřída / Typ použití)</entry>
+                    </row>
+                </thead>
+                <tbody>
+                    <row>
+                        <entry>Všechny komponenty</entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.pcre.php"><code>pcre</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.spl.php"><code>SPL</code></ulink>
+                            ( Závislost )
+                            <code>standard</code>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.acl.html"><code>Zend_Acl</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.auth.html"><code>Zend_Auth</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.ctype.php"><code>ctype</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.auth.adapter.http.html"><code>Zend_Auth_Adapter_Http</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.hash.php"><code>hash</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.auth.adapter.http.html"><code>Zend_Auth_Adapter_Http</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.cache.html"><code>Zend_Cache</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.apc.php"><code>apc</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.cache.backends.html"><code>Zend_Cache_Backend_Apc</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.memcache.php"><code>memcache</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.cache.backends.html"><code>Zend_Cache_Backend_Memcached</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.sqlite.php"><code>sqlite</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.cache.backends.html"><code>Zend_Cache_Backend_Sqlite</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.zlib.php"><code>zlib</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.cache.backends.html"><code>Zend_Cache_Backend_Zlib</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.config.html"><code>Zend_Config</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.config.adapters.xml.html"><code>Zend_Config_Xml</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.simplexml.php"><code>SimpleXML</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.config.adapters.xml.html"><code>Zend_Config_Xml</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.console.getopt.html"><code>Zend_Console_Getopt</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.controller.html"><code>Zend_Controller</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.session.php"><code>session</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.controller.actionhelpers.html"><code>Zend_Controller_Action_Helper_Redirector</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.date.html"><code>Zend_Date</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.ibm-db2.php"><code>ibm_db2</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Db2</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.mysqli.php"><code>mysqli</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Mysqli</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.oci8.php"><code>oci8</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Oracle</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.pdo.php"><code>pdo</code></ulink>
+                            ( All PDO Adapters / Závislost )
+                            <code>pdo_mssql</code>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Mssql</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.pdo-mysql.php"><code>pdo_mysql</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Mysql</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.pdo-oci.php"><code>pdo_oci</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Oci</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.pdo-pgsql.php"><code>pdo_pgsql</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Pgsql</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.pdo-sqlite.php"><code>pdo_sqlite</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.db.html"><code>Zend_Db_Adapter_Pdo_Sqlite</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.debug.html"><code>Zend_Debug</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.exception.html"><code>Zend_Exception</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.feed.html"><code>Zend_Feed</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.mbstring.php"><code>mbstring</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.simplexml.php"><code>SimpleXML</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.filter.html"><code>Zend_Filter</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.filter.input.html"><code>Zend_Filter_Input</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.gdata.html"><code>Zend_Gdata</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.ctype.php"><code>ctype</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.gdata.html"><code>Zend_Gdata_App</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.http.html"><code>Zend_Http</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.ctype.php"><code>ctype</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.http.html"><code>Zend_Http_Client</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.curl.php"><code>curl</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.http.client.adapters.html"><code>Zend_Http_Client_Adapter_Curl</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.mime-magic.php"><code>mime_magic</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.http.html"><code>Zend_Http_Client</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.json.html"><code>Zend_Json</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.json.php"><code>json</code></ulink>
+                            ( Volitelné )
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.loader.html"><code>Zend_Loader</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.locale.html"><code>Zend_Locale</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.bc.php"><code>bcmath</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.locale.html"><code>Zend_Locale_Math</code></ulink> / Volitelné )
+                            <ulink url="http://www.php.net/manual/en/ref.iconv.php"><code>iconv</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.locale.parsing.html"><code>Zend_Locale_Format</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.log.html"><code>Zend_Log</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.log.formatters.html"><code>Zend_Log_Formatter_Xml</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.log.formatters.html"><code>Zend_Log_Formatter_Xml</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.mail.html"><code>Zend_Mail</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.posix.php"><code>posix</code></ulink>
+                            ( Volitelné )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.measure.html"><code>Zend_Measure</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.memory.html"><code>Zend_Memory</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.mime.html"><code>Zend_Mime</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.iconv.php"><code>iconv</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.mime.html"><code>Zend_Mime_Decode</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.pdf.html"><code>Zend_Pdf</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.ctype.php"><code>ctype</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.image.php"><code>gd</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.iconv.php"><code>iconv</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.zlib.php"><code>zlib</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.registry.html"><code>Zend_Registry</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry>Zend_Request</entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.rest.html"><code>Zend_Rest</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.ctype.php"><code>ctype</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.rest.client.html"><code>Zend_Rest_Client</code></ulink> / Závislost )
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.rest.server.html"><code>Zend_Rest_Server</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.rest.server.html"><code>Zend_Rest_Server</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.rest.client.html"><code>Zend_Rest_Client</code></ulink> / Závislost )
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.rest.server.html"><code>Zend_Rest_Server</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.rest.server.html"><code>Zend_Rest_Server</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.simplexml.php"><code>SimpleXML</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.rest.client.html"><code>Zend_Rest_Client</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.search.lucene.html"><code>Zend_Search_Lucene</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.ctype.php"><code>ctype</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://pecl.php.net/package/Bitset"><code>bitset</code></ulink>
+                            ( Volitelné )
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.iconv.php"><code>iconv</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.server.reflection.html"><code>Zend_Server_Reflection</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.service.akismet.html"><code>Zend_Service_Akismet</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.service.amazon.html"><code>Zend_Service_Amazon</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.service.audioscrobbler.html"><code>Zend_Service_Audioscrobbler</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.iconv.php"><code>iconv</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.simplexml.php"><code>SimpleXML</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.service.delicious.html"><code>Zend_Service_Delicious</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.service.flickr.html"><code>Zend_Service_Flickr</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.iconv.php"><code>iconv</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.service.simpy.html"><code>Zend_Service_Simpy</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.service.strikeiron.html"><code>Zend_Service_StrikeIron</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.soap.php"><code>soap</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.service.yahoo.html"><code>Zend_Service_Yahoo</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.session.html"><code>Zend_Session</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.session.php"><code>session</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.translate.html"><code>Zend_Translate</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.xml.php"><code>xml</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.translate.adapter.html"><code>Zend_Translate_Adapter_Qt</code></ulink> / Závislost )
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.translate.adapter.html"><code>Zend_Translate_Adapter_Tmx</code></ulink> / Závislost )
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.translate.adapter.html"><code>Zend_Translate_Adapter_Xliff</code></ulink> / Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.uri.html"><code>Zend_Uri</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.ctype.php"><code>ctype</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.validate.html"><code>Zend_Validate</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.ctype.php"><code>ctype</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.version.html"><code>Zend_Version</code></ulink></entry>
+                        <entry>---</entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.view.html"><code>Zend_View</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.html"><code>Zend_XmlRpc</code></ulink></entry>
+                        <entry>
+                            <ulink url="http://www.php.net/manual/en/ref.dom.php"><code>dom</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.iconv.php"><code>iconv</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.client.html"><code>Zend_XmlRpc_Client</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.libxml.php"><code>libxml</code></ulink>
+                            ( Závislost )
+                            <ulink url="http://www.php.net/manual/en/language.oop5.reflection.php"><code>Reflection</code></ulink>
+                            ( <ulink url="http://framework.zend.com/manual/en/zend.xmlrpc.server.html"><code>Zend_XmlRpc_Server</code></ulink> / Závislost )
+                            <ulink url="http://www.php.net/manual/en/ref.simplexml.php"><code>SimpleXML</code></ulink>
+                            ( Závislost )
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
 
-	</sect1>
+    </sect1>
 
 </appendix>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 43 - 46
documentation/manual/de/html/dbstyle.css

@@ -1,82 +1,79 @@
 body {
-	font-family: Tahoma, Arial, sans-serif;
+    font-family: Tahoma, Arial, sans-serif;
 }
 
-h1,h2,h3,h4,h5 {
-	font-family: Arial, serif;
+h1, h2, h3, h4, h5 {
+    font-family: Arial, serif;
 }
 
 h2 {
-	font-size: 1.3em;
+    font-size: 1.3em;
 }
 
-h3,h4,h5 {
-	font-size: 1em;
-	margin: 0.2em;
+h3, h4, h5 {
+    font-size: 1em;
+    margin: 0.2em;
 }
 
-div.note,div.warning,div.tip {
-	margin-left: 0.3in;
-	margin-right: 0.5in;
-	border: solid 1px blue;
-	background-color: #e0e0e0;
-	padding: 0.1in;
+div.note, div.warning, div.tip {
+    margin-left: 0.3in;
+    margin-right: 0.5in;
+    border: solid 1px blue;
+    background-color: #e0e0e0;
+    padding: 0.1in;
 }
 
-div.note img,div.warning img,div.tip img {
-	margin-right: 0.1in;
-	border: solid 1px blue;
+div.note img, div.warning img, div.tip img {
+    margin-right: 0.1in;
+    border: solid 1px blue;
 }
 
 pre.programlisting {
-	border: solid 1px #444;
-	background-color: #e0e0e0;
-	padding: 0.1in;
-	margin: 0.2in;
-	clear: right;
+    border: solid 1px #444;
+    background-color: #e0e0e0;
+    padding: 0.1in;
+    margin: 0.2in;
+    clear: right;
 }
 
 pre.screen {
-	border: solid 1px #777;
-	background-color: #ddd;
-	padding: 0.1in;
-	margin: 0.2in;
-	clear: right;
+    border: solid 1px #777;
+    background-color: #ddd;
+    padding: 0.1in;
+    margin: 0.2in;
+    clear: right;
 }
 
 div.variablelist dl dt span.term {
-	font-weight: bold;
+    font-weight: bold;
 }
 
-hr {
-	display: none;
-}
+hr { display: none; }
 
 div.navheader {
-	padding-bottom: 0.1in;
-	border-bottom: solid 1px black;
-	border-color: #aaa;
+    padding-bottom: 0.1in;
+    border-bottom: solid 1px black;
+    border-color: #aaa;
 }
-
 div.navfooter {
-	margin-top: 0.1in;
-	border-top: solid 1px black;
-	border-color: #aaa;
-	padding-top: 0.1in;
+    margin-top: 0.1in;
+    border-top: solid 1px black;
+    border-color: #aaa;
+    padding-top: 0.1in;
 }
 
 div.figure-float {
-	float: right;
-	margin-left: 2em;
-	margin-bottom: 2em;
+    float: right;
+    margin-left: 2em;
+    margin-bottom: 2em;
 }
 
 div.revinfo {
-	text-align: center;
-	font-size: 0.7em;
-	font-style: italic;
+    text-align: center;
+    font-size: 0.7em;
+    font-style: italic;
 }
 
 code.code {
-	font-family: "Lucida Console", monospace;
-}
+    font-family: "Lucida Console", monospace;
+}

+ 67 - 118
documentation/manual/de/module_specs/Zend_Acl-Advanced.xml

@@ -2,88 +2,55 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: 20763 -->
 <sect1 id="zend.acl.advanced">
-	<title>Fortgeschrittene Verwendung</title>
+    <title>Fortgeschrittene Verwendung</title>
 
-	<sect2 id="zend.acl.advanced.storing">
-		<title>Dauerhafte Speicherung von ACL-Daten</title>
+    <sect2 id="zend.acl.advanced.storing">
+        <title>Dauerhafte Speicherung von ACL-Daten</title>
 
-		<para>
-			<classname>Zend_Acl</classname>
-			wurde so entwickelt, dass keine spezielle Backend
-			Technologie benötigt wird, wie z.B. eine Datenbank oder ein Cache Server, um die
-			<acronym>ACL</acronym>
-			-Daten zu speichern. Ihre vollständige
-			<acronym>PHP</acronym>
-			-Implementation ermöglicht angepasste Administrationstools, die
-			relativ
-			einfach und flexibel auf
-			<classname>Zend_Acl</classname>
-			aufbauen. Viele Situationen erfordern
-			eine interaktive Wartung der
-			<acronym>ACL</acronym>
-			und
-			<classname>Zend_Acl</classname>
-			stellt Methoden für das Einrichten und Abfragen der Zugriffskontrolle
-			einer Anwendung.
-		</para>
+        <para>
+            <classname>Zend_Acl</classname> wurde so entwickelt, dass keine spezielle Backend
+            Technologie benötigt wird, wie z.B. eine Datenbank oder ein Cache Server, um die
+            <acronym>ACL</acronym>-Daten zu speichern. Ihre vollständige
+            <acronym>PHP</acronym>-Implementation ermöglicht angepasste Administrationstools, die relativ
+            einfach und flexibel auf <classname>Zend_Acl</classname> aufbauen. Viele Situationen erfordern
+            eine interaktive Wartung der <acronym>ACL</acronym> und <classname>Zend_Acl</classname>
+            stellt Methoden für das Einrichten und Abfragen der Zugriffskontrolle einer Anwendung.
+        </para>
 
-		<para>
-			Die Speicherung der
-			<acronym>ACL</acronym>
-			-Daten ist deshalb die Aufgabe des
-			Entwicklers, da sich die Anwendungsfälle für verschiedene Situationen
-			erwartungsgemäß
-			stark unterscheiden. Da
-			<classname>Zend_Acl</classname>
-			serialisierbar ist, können
-			<acronym>ACL</acronym>
-			-Objekte mit der
-			<acronym>PHP</acronym>
-			-Funktion
-			<ulink url="http://php.net/serialize">
-				<methodname>serialize()</methodname>
-			</ulink>
-			serialisiert werden und das Ergebnis kann überall gespeichert werden,
-			wo es der
-			Entwickler möchte, wie z.B. in einer Datei, in einer Datenbank oder mit einem
-			Cache-Mechanismus.
-		</para>
-	</sect2>
+        <para>
+            Die Speicherung der <acronym>ACL</acronym>-Daten ist deshalb die Aufgabe des
+            Entwicklers, da sich die Anwendungsfälle für verschiedene Situationen erwartungsgemäß
+            stark unterscheiden. Da <classname>Zend_Acl</classname> serialisierbar ist, können
+            <acronym>ACL</acronym>-Objekte mit der <acronym>PHP</acronym>-Funktion <ulink
+                url="http://php.net/serialize"><methodname>serialize()</methodname></ulink>
+            serialisiert werden und das Ergebnis kann überall gespeichert werden, wo es der
+            Entwickler möchte, wie z.B. in einer Datei, in einer Datenbank oder mit einem
+            Cache-Mechanismus.
+        </para>
+    </sect2>
 
-	<sect2 id="zend.acl.advanced.assertions">
-		<title>Schreiben von bedingten ACL-Regeln mit Zusicherungen</title>
+    <sect2 id="zend.acl.advanced.assertions">
+        <title>Schreiben von bedingten ACL-Regeln mit Zusicherungen</title>
 
-		<para>
-			Manchmal soll eine Regel für das Erlauben oder Verbieten des Zugriffs
-			auf eine
-			Ressource nicht absolut sein, sondern von verschiedenen Kriterien abhängen.
-			Nehmen
-			wir zum Beispiel an, dass ein bestimmter Zugriff erlaubt sei, aber nur
-			zwischen
-			08:00 und 17:00 Uhr. Ein anderes Beispiel könnte sein, dass der Zugriff
-			verboten wird,
-			weil eine Anfrage von einer bestimmten IP-Adresse kommt, die als
-			Missbrauchsquelle
-			markiert worden ist.
-			<classname>Zend_Acl</classname>
-			bietet eine eingebaute
-			Unterstützung für die Implementierung von Regeln, die auf Bedingungen basieren,
-			die der
-			Entwickler benötigt.
-		</para>
+        <para>
+            Manchmal soll eine Regel für das Erlauben oder Verbieten des Zugriffs auf eine
+            Ressource nicht absolut sein, sondern von verschiedenen Kriterien abhängen. Nehmen
+            wir zum Beispiel an, dass ein bestimmter Zugriff erlaubt sei, aber nur zwischen
+            08:00 und 17:00 Uhr. Ein anderes Beispiel könnte sein, dass der Zugriff verboten wird,
+            weil eine Anfrage von einer bestimmten IP-Adresse kommt, die als Missbrauchsquelle
+            markiert worden ist. <classname>Zend_Acl</classname> bietet eine eingebaute
+            Unterstützung für die Implementierung von Regeln, die auf Bedingungen basieren, die der
+            Entwickler benötigt.
+        </para>
 
-		<para>
-			<classname>Zend_Acl</classname>
-			bietet Unterstützung für bedingte Regeln mit dem
-			<classname>Zend_Acl_Assert_Interface</classname>
-			. Um das Regelzusicherungsinterface
-			benutzen zu können, schreibt der Entwickler eine Klasse, welche die
-			Methode
-			<methodname>assert()</methodname>
-			des Interfaces implementiert:
-		</para>
+        <para>
+            <classname>Zend_Acl</classname> bietet Unterstützung für bedingte Regeln mit dem
+            <classname>Zend_Acl_Assert_Interface</classname>. Um das Regelzusicherungsinterface
+            benutzen zu können, schreibt der Entwickler eine Klasse, welche die
+            Methode <methodname>assert()</methodname> des Interfaces implementiert:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 class CleanIPAssertion implements Zend_Acl_Assert_Interface
 {
     public function assert(Zend_Acl $acl,
@@ -101,54 +68,36 @@ class CleanIPAssertion implements Zend_Acl_Assert_Interface
 }
 ]]></programlisting>
 
-		<para>
-			Sobald eine Zusicherungsklasse verfügbar ist, muss der Entwickler
-			eine Instanz dieser
-			Zusicherungsklasse bei der Zuordnung bedingter Regeln übergeben. Eine Regel, die mit
-			einer Zusicherung angelegt wird, wird nur angewendet, wenn die
-			Zusicherungsmethode
-			<constant>TRUE</constant>
-			zurück gibt.
-		</para>
+        <para>
+            Sobald eine Zusicherungsklasse verfügbar ist, muss der Entwickler eine Instanz dieser
+            Zusicherungsklasse bei der Zuordnung bedingter Regeln übergeben. Eine Regel, die mit
+            einer Zusicherung angelegt wird, wird nur angewendet, wenn die Zusicherungsmethode
+            <constant>TRUE</constant> zurück gibt.
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $acl = new Zend_Acl();
 $acl->allow(null, null, null, new CleanIPAssertion());
 ]]></programlisting>
 
-		<para>
-			Der obige Code legt eine bedingte Erlaubnisregel an, die den Zugriff für
-			alle Rechte
-			auf alles und von jedem erlaubt, außer wenn die anfordernde IP auf einer
-			"Blacklist"
-			ist. Wenn die Anfrage von einer IP kommt, die nicht als "sauber"
-			betrachtet wird, wird
-			die Erlaubnisregel nicht angewandt. Da die Regel auf alle Rollen, alle
-			Ressourcen und
-			alle Rechte zutrifft, würde eine "unsaubere" IP zu einem Zugriffsverbot
-			führen. Dies
-			ist ein besonderer Fall und es sollte verstanden werden, dass in allen
-			anderen Fällen
-			(d.h. wenn eine spezielle Rolle, Ressource oder Recht für die Regel
-			spezifiziert wird)
-			eine fehlerhafte Zusicherung dazu führt, dass die Regel nicht angewandt
-			wird und andere
-			Regeln verwendet werden um zu ermitteln, ob der Zugriff erlaubt oder
-			verboten ist.
+        <para>
+            Der obige Code legt eine bedingte Erlaubnisregel an, die den Zugriff für alle Rechte
+            auf alles und von jedem erlaubt, außer wenn die anfordernde IP auf einer "Blacklist"
+            ist. Wenn die Anfrage von einer IP kommt, die nicht als "sauber" betrachtet wird, wird
+            die Erlaubnisregel nicht angewandt. Da die Regel auf alle Rollen, alle Ressourcen und
+            alle Rechte zutrifft, würde eine "unsaubere" IP zu einem Zugriffsverbot führen. Dies
+            ist ein besonderer Fall und es sollte verstanden werden, dass in allen anderen Fällen
+            (d.h. wenn eine spezielle Rolle, Ressource oder Recht für die Regel spezifiziert wird)
+            eine fehlerhafte Zusicherung dazu führt, dass die Regel nicht angewandt wird und andere
+            Regeln verwendet werden um zu ermitteln, ob der Zugriff erlaubt oder verboten ist.
         </para>
 
-		<para>
-			Der Methode
-			<methodname>assert()</methodname>
-			eines Zusicherungsobjektes werden die
-			<acronym>ACL</acronym>
-			, Rolle, Ressource und die Rechte übergeben, auf welche die
-			Autorisierungsabfrage (d.h.,
-			<methodname>isAllowed()</methodname>
-			) passt, um den
-			Kontext für die Zusicherungsklasse bereit zu stellen, um die Bedingungen zu
-			ermitteln wo
-			erforderlich.
-		</para>
-	</sect2>
+        <para>
+            Der Methode <methodname>assert()</methodname> eines Zusicherungsobjektes werden die
+            <acronym>ACL</acronym>, Rolle, Ressource und die Rechte übergeben, auf welche die
+            Autorisierungsabfrage (d.h., <methodname>isAllowed()</methodname>) passt, um den
+            Kontext für die Zusicherungsklasse bereit zu stellen, um die Bedingungen zu ermitteln wo
+            erforderlich.
+        </para>
+    </sect2>
 </sect1>

+ 72 - 110
documentation/manual/de/module_specs/Zend_Acl-Refining.xml

@@ -2,79 +2,57 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: 20763 -->
 <sect1 id="zend.acl.refining">
-	<title>Verfeinern der Zugriffskontrolle</title>
-
-	<sect2 id="zend.acl.refining.precise">
-		<title>Präzise Zugangsbeschränkung</title>
-
-		<para>
-			Die grundlegende
-			<acronym>ACL</acronym>
-			, wie sie im
-			<link linkend="zend.acl.introduction">vorherigen Kapitel</link>
-			definiert ist, zeigt wie
-			verschiedene Rechte für die gesamte
-			<acronym>ACL</acronym>
-			(alle Ressourcen) vergeben
-			werden können. In der Praxis tendieren Zugangsbeschränkungen jedoch eher
-			dahin,
-			Ausnahmen und verschiedene Stufen von Komplexität zu haben.
-			<classname>Zend_Acl</classname>
-			erlaubt einem, diese Verfeinerungen auf einfache und
-			flexible Weise zu bewerkstelligen.
-		</para>
-
-		<para>
-			Für das Beispiel
-			<acronym>CMS</acronym>
-			wurde ermittelt, dass während die Gruppe
-			'staff' die Bedürfnisse der überwiegenden Mehrheit der Benutzer abdeckt, es
-			den Bedarf
-			für eine neue Gruppe 'marketing' gibt, die Zugriff auf den Newsletter
-			und die neuesten
-			Nachrichten im
-			<acronym>CMS</acronym>
-			benötigen. Die Gruppe ist ziemlich unabhängig und
-			wird die Möglichkeit haben, sowohl Newsletter als auch die neuesten
-			Nachrichten zu
-			veröffentlichen und zu archivieren.
-		</para>
-
-		<para>
-			Zusätzlich wurde angefordert, dass es der Gruppe 'staff' erlaubt sein soll, die
-			Nachrichten ansehen, aber nicht die neuesten Nachrichten überarbeiten
-			zu können.
-			Letztendlich soll es für jeden (Administratoren eingeschlossen) unmöglich sein,
-			irgend
-			eine Bekanntmachung zu archivieren, da diese sowieso nur eine Lebensdauer
-			von 1 bis 2
-			Tagen haben.
+    <title>Verfeinern der Zugriffskontrolle</title>
+
+    <sect2 id="zend.acl.refining.precise">
+        <title>Präzise Zugangsbeschränkung</title>
+
+        <para>
+            Die grundlegende <acronym>ACL</acronym>, wie sie im <link
+                linkend="zend.acl.introduction">vorherigen Kapitel</link> definiert ist, zeigt wie
+            verschiedene Rechte für die gesamte <acronym>ACL</acronym> (alle Ressourcen) vergeben
+            werden können. In der Praxis tendieren Zugangsbeschränkungen jedoch eher dahin,
+            Ausnahmen und verschiedene Stufen von Komplexität zu haben.
+            <classname>Zend_Acl</classname> erlaubt einem, diese Verfeinerungen auf einfache und
+            flexible Weise zu bewerkstelligen.
         </para>
 
-		<para>
-			Zuerst überarbeiten wir die Rollenregistrierung, um die Änderungen wider zu
-			spiegeln.
-			Wir haben ermittelt, dass die Gruppe 'marketing' dieselben grundlegenden
-			Rechte wie
-			'staff' hat, also definieren wir 'marketing' so, dass die Genehmigungen von
-			'staff'
-			geerbt werden:
+        <para>
+            Für das Beispiel <acronym>CMS</acronym> wurde ermittelt, dass während die Gruppe
+            'staff' die Bedürfnisse der überwiegenden Mehrheit der Benutzer abdeckt, es den Bedarf
+            für eine neue Gruppe 'marketing' gibt, die Zugriff auf den Newsletter und die neuesten
+            Nachrichten im <acronym>CMS</acronym> benötigen. Die Gruppe ist ziemlich unabhängig und
+            wird die Möglichkeit haben, sowohl Newsletter als auch die neuesten Nachrichten zu
+            veröffentlichen und zu archivieren.
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <para>
+            Zusätzlich wurde angefordert, dass es der Gruppe 'staff' erlaubt sein soll, die
+            Nachrichten ansehen, aber nicht die neuesten Nachrichten überarbeiten zu können.
+            Letztendlich soll es für jeden (Administratoren eingeschlossen) unmöglich sein, irgend
+            eine Bekanntmachung zu archivieren, da diese sowieso nur eine Lebensdauer von 1 bis 2
+            Tagen haben.
+        </para>
+
+        <para>
+            Zuerst überarbeiten wir die Rollenregistrierung, um die Änderungen wider zu spiegeln.
+            Wir haben ermittelt, dass die Gruppe 'marketing' dieselben grundlegenden Rechte wie
+            'staff' hat, also definieren wir 'marketing' so, dass die Genehmigungen von 'staff'
+            geerbt werden:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Die neue Gruppe Marketing erbt Genehmigungen der Mitarbeiter
 $acl->addRole(new Zend_Acl_Role('marketing'), 'staff');
 ]]></programlisting>
 
-		<para>
-			Als nächstes ist zu beachten, dass sich die obige Zugangsbeschränkung
-			auf bestimmte
-			Ressourcen bezieht (z.B. "newsletter", "lastest news", "announcement news").
-			Nun fügen
-			wir die Ressourcen hinzu:
+        <para>
+            Als nächstes ist zu beachten, dass sich die obige Zugangsbeschränkung auf bestimmte
+            Ressourcen bezieht (z.B. "newsletter", "lastest news", "announcement news"). Nun fügen
+            wir die Ressourcen hinzu:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Ressourcen für die Regeln erstellen
 
 // Newsletter
@@ -90,15 +68,12 @@ $acl->addResource(new Zend_Acl_Resource('latest'), 'news');
 $acl->addResource(new Zend_Acl_Resource('announcement'), 'news');
 ]]></programlisting>
 
-		<para>
-			Nun ist es nur eine Frage der Definition für diese spezifischeren
-			Regeln auf die
-			Zielbereiche der
-			<acronym>ACL</acronym>
-			:
-		</para>
+        <para>
+            Nun ist es nur eine Frage der Definition für diese spezifischeren Regeln auf die
+            Zielbereiche der <acronym>ACL</acronym>:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Marketing muss Newsletter und die neuesten Nachrichten veröffentlichen
 // und archivieren können
 $acl->allow('marketing',
@@ -114,13 +89,11 @@ $acl->deny('staff', 'latest', 'revise');
 $acl->deny(null, 'announcement', 'archive');
 ]]></programlisting>
 
-		<para>
-			Wir können nun die
-			<acronym>ACL</acronym>
-			hinsichtlich der letzten Änderungen abfragen:
-		</para>
+        <para>
+            Wir können nun die <acronym>ACL</acronym> hinsichtlich der letzten Änderungen abfragen:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 echo $acl->isAllowed('staff', 'newsletter', 'publish') ?
      "allowed" : "denied";
 // verweigert
@@ -153,30 +126,21 @@ echo $acl->isAllowed('administrator', 'announcement', 'archive') ?
      "allowed" : "denied";
 // verweigert
 ]]></programlisting>
-	</sect2>
-
-	<sect2 id="zend.acl.refining.removing">
-		<title>Zugangsbeschränkungen entfernen</title>
-
-		<para>
-			Um eine oder mehrere Zugangsregel von der
-			<acronym>ACL</acronym>
-			zu entfernen,
-			verwendet man einfach die vorhandenen Methoden
-			<methodname>removeAllow()</methodname>
-			oder
-			<methodname>removeDeny()</methodname>
-			. Wie bei
-			<methodname>allow()</methodname>
-			und
-			<methodname>deny()</methodname>
-			kann man den
-			<constant>NULL</constant>
-			Wert übergeben, um die Anwendung auf alle Rollen, Ressourcen
-			und / oder Rechte anzuzeigen:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    </sect2>
+
+    <sect2 id="zend.acl.refining.removing">
+        <title>Zugangsbeschränkungen entfernen</title>
+
+        <para>
+            Um eine oder mehrere Zugangsregel von der <acronym>ACL</acronym> zu entfernen,
+            verwendet man einfach die vorhandenen Methoden <methodname>removeAllow()</methodname>
+            oder <methodname>removeDeny()</methodname>. Wie bei
+            <methodname>allow()</methodname> und <methodname>deny()</methodname> kann man den
+            <constant>NULL</constant> Wert übergeben, um die Anwendung auf alle Rollen, Ressourcen
+            und / oder Rechte anzuzeigen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Entferne die Verweigerung, die letzten Nachrichten zu überarbeiten für
 // die Mitarbeiter (und Marketing durch die Vererbung)
 $acl->removeDeny('staff', 'latest', 'revise');
@@ -200,15 +164,13 @@ echo $acl->isAllowed('marketing', 'newsletter', 'archive') ?
 // verweigert
 ]]></programlisting>
 
-		<para>
-			Rechte können schrittweise wie oben angezeigt verändert werden, aber
-			ein
-			<constant>NULL</constant>
-			-Wert für die Rechte überschreibt solche schrittweisen
-			Änderungen:
-		</para>
+        <para>
+            Rechte können schrittweise wie oben angezeigt verändert werden, aber ein
+            <constant>NULL</constant>-Wert für die Rechte überschreibt solche schrittweisen
+            Änderungen:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Erlaube dem Marketing alle Rechte für die neuesten Nachrichten
 $acl->allow('marketing', 'latest');
 
@@ -224,5 +186,5 @@ echo $acl->isAllowed('marketing', 'latest', 'anything') ?
      "allowed" : "denied";
 // erlaubt
 ]]></programlisting>
-	</sect2>
+    </sect2>
 </sect1>

+ 289 - 415
documentation/manual/de/module_specs/Zend_Acl.xml

@@ -2,193 +2,130 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: 20763 -->
 <sect1 id="zend.acl.introduction">
-	<title>Einführung</title>
-
-	<para>
-		<classname>Zend_Acl</classname>
-		stellt eine Implementation von leichtgewichtigen und
-		flexiblen Zugriffskontrolllisten (englisch "access control list",
-		<acronym>ACL</acronym>
-		) für die Rechteverwaltung bereit. Im Allgemeinen kann eine Anwendung
-		derartige
-		<acronym>ACL</acronym>
-		s verwenden, um den Zugriff auf bestimmte, geschützte
-		Objekte durch andere anfordernde Objekte zu kontrollieren.
-	</para>
-
-	<para>
-		In dieser Dokumentation:
+    <title>Einführung</title>
+
+    <para>
+        <classname>Zend_Acl</classname> stellt eine Implementation von leichtgewichtigen und
+        flexiblen Zugriffskontrolllisten (englisch "access control list",
+        <acronym>ACL</acronym>) für die Rechteverwaltung bereit. Im Allgemeinen kann eine Anwendung
+        derartige <acronym>ACL</acronym>s verwenden, um den Zugriff auf bestimmte, geschützte
+        Objekte durch andere anfordernde Objekte zu kontrollieren.
     </para>
 
-	<itemizedlist>
-		<listitem>
-			<para>
-				ist eine
-				<emphasis>Ressource</emphasis>
-				ein Objekt, auf das der
-				Zugriff kontrolliert wird.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				ist eine
-				<emphasis>Rolle</emphasis>
-				ein Objekt, das den Zugriff
-				auf eine Ressource anfordern kann.
-			</para>
-		</listitem>
-	</itemizedlist>
-
-	<para>
-		Einfach ausgedrückt
-		<emphasis>fordern Rollen den Zugriff auf Ressourcen
-			an</emphasis>
-		. Wenn z.B. ein Parkplatzwächter den Zugriff auf ein Auto anfordert,
-		ist der
-		Parkplatzwächter die anfordernde Rolle und das Auto die Ressource, weil der Zugriff
-		auf das
-		Auto nicht jedem erlaubt ist.
-	</para>
-
-	<para>
-		Durch die Spezifikation und die Verwendung einer
-		<acronym>ACL</acronym>
-		kann eine Anwendung
-		kontrollieren, wie Rollen den Zugriff auf Ressourcen eingeräumt bekommen.
-	</para>
-
-	<sect2 id="zend.acl.introduction.resources">
-		<title>Ressourcen</title>
-
-		<para>
-			Das Erstellen einer Ressource ist in
-			<classname>Zend_Acl</classname>
-			sehr einfach.
-			<classname>Zend_Acl</classname>
-			stellt die Ressource
-			<classname>Zend_Acl_Resource_Interface</classname>
-			bereit, um das Erstellen von
-			Ressourcen in Anwendungen zu ermöglichen. Eine Klasse muss nur dieses Interface
-			implementieren, das nur aus einer einzelnen Methode
-			<methodname>getResourceId()</methodname>
-			besteht, damit
-			<classname>Zend_Acl</classname>
-			das Objekt als Ressource erkennen kann. Zusätzlich ist
-			<classname>Zend_Acl_Resource</classname>
-			in
-			<classname>Zend_Acl</classname>
-			als einfache
-			Ressourcen-Implementation enthalten, damit Entwickler sie wenn nötig erweitern können.
-		</para>
-
-		<para>
-			<classname>Zend_Acl</classname>
-			stellt eine Baumstruktur bereit, in die mehrere
-			Ressourcen aufgenommen werden können. Weil Ressourcen in solch einer
-			Baumstruktur
-			abgelegt werden, können sie vom Allgemeinen (von der Baumwurzel) bis zum
-			Speziellen (zu
-			den Baumblättern) organisiert werden. Abfragen auf einer bestimmten
-			Ressource
-			durchsuchen automatisch die Ressourcenhierarchie nach Regeln, die einer
-			übergeordneten
-			Ressource zugeordnet wurden, um die einfache Vererbung von Regeln zu
-			ermöglichen. Wenn
-			zum Beispiel eine Standardregel für jedes Gebäude einer Stadt gelten
-			soll, würde man
-			diese Regel einfach der Stadt zuordnen, anstatt die selbe Regel jedem
-			Gebäude
-			zuzuordnen. Einige Gebäude können dennoch Ausnahmen zu solch einer Regel
-			erfordern, und
-			dies kann in
-			<classname>Zend_Acl</classname>
-			einfach durch die Zuordnung solcher
-			Ausnahmeregeln zu jedem der Gebäude erreicht werden, die eine Ausnahme erfordern.
-			Eine
-			Ressource kann nur von einer einzigen übergeordneten Ressource erben, obwohl
-			diese
-			übergeordnete Ressource ihre eigenen übergeordneten Ressourcen haben kann, und so
-			weiter.
-		</para>
-
-		<para>
-			<classname>Zend_Acl</classname>
-			unterstützt außerdem Rechte auf Ressourcen (z.B.
-			"erstellen", "lesen", "aktualisieren", "löschen"), damit der Entwickler Regeln
-			zuordnen
-			kann, die alle Rechte oder bestimmte Rechte von einer oder mehreren
-			Ressourcen
-			beeinflussen.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.roles">
-		<title>Rollen</title>
-
-		<para>
-			Wie bei den Ressourcen ist auch das Erstellen einer Rolle sehr
-			einfach. Alle Rollen
-			müssen
-			<classname>Zend_Acl_Role_Interface</classname>
-			implementieren. Dieses Interface
-			besteht aus einer einzelnen Methode,
-			<methodname>getRoleId()</methodname>
-			, zusätzlich
-			wird
-			<classname>Zend_Acl_Role</classname>
-			von
-			<classname>Zend_Acl</classname>
-			als
-			einfache Rollen Implementation angeboten, damit Entwickler sie bei Bedarf
-			erweitern
-			können.
-		</para>
-
-		<para>
-			In
-			<classname>Zend_Acl</classname>
-			kann eine Rolle von einer oder mehreren Rollen
-			erben. Dies soll die Vererbung von Regeln zwischen den Rollen ermöglichen.
-			Zum Beispiel
-			kann eine Benutzerrolle, wie "Sally" zu einer oder mehreren
-			übergeordneten Rollen
-			gehören, wie "Editor" und "Administrator". Der Entwickler kann zu "Editor"
-			und
-			"Administrator" getrennt Regeln zuordnen und "Sally" würde diese Regeln von beiden
-			erben, ohne dass "Sally" direkt Regeln zugeordnet werden müssen.
-		</para>
-
-		<para>
-			Auch wenn die Möglichkeit der Vererbung von verschiedenen Rollen sehr
-			nützlich ist,
-			führt die mehrfache Vererbung auch einen gewissen Grad an Komplexität ein.
-			Das folgende
-			Beispiel illustriert die mehrdeutigen Bedingungen und wie
-			<classname>Zend_Acl</classname>
-			sie auflöst.
-		</para>
-
-		<example id="zend.acl.introduction.roles.example.multiple_inheritance">
-			<title>Mehrfache Vererbung zwischen Rollen</title>
-
-			<para>
-				Der folgende Code definiert drei Basisrollen - "guest", "member" und
-				"admin" - von
-				denen andere Rollen erben können. Dann wird eine Rolle "someUser"
-				eingerichtet, die
-				von den drei anderen Rollen erbt. Die Reihenfolge, in der diese Rollen
-				im
-				<varname>$parents</varname>
-				Array erscheinen, ist wichtig. Wenn notwendig, sucht
-				<classname>Zend_Acl</classname>
-				nach Zugriffsregeln nicht nur für die abgefragte
-				Rolle (hier "someUser"), sondern auch für die Rollen, von denen die
-				abgefragte
-				Rolle erbt (hier "guest", "member" und "admin"):
-			</para>
-
-			<programlisting language="php"><![CDATA[
+    <para>
+        In dieser Dokumentation:
+    </para>
+
+    <itemizedlist>
+        <listitem>
+            <para>
+                ist eine <emphasis>Ressource</emphasis> ein Objekt, auf das der
+                Zugriff kontrolliert wird.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                ist eine <emphasis>Rolle</emphasis> ein Objekt, das den Zugriff
+                auf eine Ressource anfordern kann.
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        Einfach ausgedrückt <emphasis>fordern Rollen den Zugriff auf Ressourcen
+        an</emphasis>. Wenn z.B. ein Parkplatzwächter den Zugriff auf ein Auto anfordert, ist der
+        Parkplatzwächter die anfordernde Rolle und das Auto die Ressource, weil der Zugriff auf das
+        Auto nicht jedem erlaubt ist.
+    </para>
+
+    <para>
+        Durch die Spezifikation und die Verwendung einer <acronym>ACL</acronym> kann eine Anwendung
+        kontrollieren, wie Rollen den Zugriff auf Ressourcen eingeräumt bekommen.
+    </para>
+
+    <sect2 id="zend.acl.introduction.resources">
+        <title>Ressourcen</title>
+
+        <para>
+            Das Erstellen einer Ressource ist in <classname>Zend_Acl</classname> sehr einfach.
+            <classname>Zend_Acl</classname> stellt die Ressource
+            <classname>Zend_Acl_Resource_Interface</classname> bereit, um das Erstellen von
+            Ressourcen in Anwendungen zu ermöglichen. Eine Klasse muss nur dieses Interface
+            implementieren, das nur aus einer einzelnen Methode
+            <methodname>getResourceId()</methodname> besteht, damit <classname>Zend_Acl</classname>
+            das Objekt als Ressource erkennen kann. Zusätzlich ist
+            <classname>Zend_Acl_Resource</classname> in <classname>Zend_Acl</classname> als einfache
+            Ressourcen-Implementation enthalten, damit Entwickler sie wenn nötig erweitern können.
+        </para>
+
+        <para>
+            <classname>Zend_Acl</classname> stellt eine Baumstruktur bereit, in die mehrere
+            Ressourcen aufgenommen werden können. Weil Ressourcen in solch einer Baumstruktur
+            abgelegt werden, können sie vom Allgemeinen (von der Baumwurzel) bis zum Speziellen (zu
+            den Baumblättern) organisiert werden. Abfragen auf einer bestimmten Ressource
+            durchsuchen automatisch die Ressourcenhierarchie nach Regeln, die einer übergeordneten
+            Ressource zugeordnet wurden, um die einfache Vererbung von Regeln zu ermöglichen. Wenn
+            zum Beispiel eine Standardregel für jedes Gebäude einer Stadt gelten soll, würde man
+            diese Regel einfach der Stadt zuordnen, anstatt die selbe Regel jedem Gebäude
+            zuzuordnen. Einige Gebäude können dennoch Ausnahmen zu solch einer Regel erfordern, und
+            dies kann in <classname>Zend_Acl</classname> einfach durch die Zuordnung solcher
+            Ausnahmeregeln zu jedem der Gebäude erreicht werden, die eine Ausnahme erfordern. Eine
+            Ressource kann nur von einer einzigen übergeordneten Ressource erben, obwohl diese
+            übergeordnete Ressource ihre eigenen übergeordneten Ressourcen haben kann, und so
+            weiter.
+        </para>
+
+        <para>
+            <classname>Zend_Acl</classname> unterstützt außerdem Rechte auf Ressourcen (z.B.
+            "erstellen", "lesen", "aktualisieren", "löschen"), damit der Entwickler Regeln zuordnen
+            kann, die alle Rechte oder bestimmte Rechte von einer oder mehreren Ressourcen
+            beeinflussen.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.roles">
+        <title>Rollen</title>
+
+        <para>
+            Wie bei den Ressourcen ist auch das Erstellen einer Rolle sehr einfach. Alle Rollen
+            müssen <classname>Zend_Acl_Role_Interface</classname> implementieren. Dieses Interface
+            besteht aus einer einzelnen Methode, <methodname>getRoleId()</methodname>, zusätzlich
+            wird <classname>Zend_Acl_Role</classname> von <classname>Zend_Acl</classname> als
+            einfache Rollen Implementation angeboten, damit Entwickler sie bei Bedarf erweitern
+            können.
+        </para>
+
+        <para>
+            In <classname>Zend_Acl</classname> kann eine Rolle von einer oder mehreren Rollen
+            erben. Dies soll die Vererbung von Regeln zwischen den Rollen ermöglichen. Zum Beispiel
+            kann eine Benutzerrolle, wie "Sally" zu einer oder mehreren übergeordneten Rollen
+            gehören, wie "Editor" und "Administrator". Der Entwickler kann zu "Editor" und
+            "Administrator" getrennt Regeln zuordnen und "Sally" würde diese Regeln von beiden
+            erben, ohne dass "Sally" direkt Regeln zugeordnet werden müssen.
+        </para>
+
+        <para>
+            Auch wenn die Möglichkeit der Vererbung von verschiedenen Rollen sehr nützlich ist,
+            führt die mehrfache Vererbung auch einen gewissen Grad an Komplexität ein. Das folgende
+            Beispiel illustriert die mehrdeutigen Bedingungen und wie
+            <classname>Zend_Acl</classname> sie auflöst.
+        </para>
+
+        <example id="zend.acl.introduction.roles.example.multiple_inheritance">
+            <title>Mehrfache Vererbung zwischen Rollen</title>
+
+            <para>
+                Der folgende Code definiert drei Basisrollen - "guest", "member" und "admin" - von
+                denen andere Rollen erben können. Dann wird eine Rolle "someUser" eingerichtet, die
+                von den drei anderen Rollen erbt. Die Reihenfolge, in der diese Rollen im
+                <varname>$parents</varname> Array erscheinen, ist wichtig. Wenn notwendig, sucht
+                <classname>Zend_Acl</classname> nach Zugriffsregeln nicht nur für die abgefragte
+                Rolle (hier "someUser"), sondern auch für die Rollen, von denen die abgefragte
+                Rolle erbt (hier "guest", "member" und "admin"):
+            </para>
+
+            <programlisting language="php"><![CDATA[
 $acl = new Zend_Acl();
 
 $acl->addRole(new Zend_Acl_Role('guest'))
@@ -206,174 +143,132 @@ $acl->allow('member', 'someResource');
 echo $acl->isAllowed('someUser', 'someResource') ? 'allowed' : 'denied';
 ]]></programlisting>
 
-			<para>
-				Da keine Regel speziell für die Rolle "someUser" und "someResource"
-				definiert
-				wurde, muss
-				<classname>Zend_Acl</classname>
-				nach Regeln suchen, die für Rollen
-				definiert wurden, von denen "someUser" erbt. Zuerst wird die "admin"-Rolle
-				besucht,
-				aber dort ist keine Zugriffsregel definiert. Als nächste wird die
-				"member"-Rolle
-				besucht und
-				<classname>Zend_Acl</classname>
-				findet hier eine Regel, die angibt,
-				dass "member" der Zugriff auf "someResource" erlaubt ist.
-			</para>
-
-			<para>
-				Wenn
-				<classname>Zend_Acl</classname>
-				fortfahren würde, die für weitere
-				übergeordnete Rollen definierten Regeln zu untersuchen, würde herausgefunden
-				werden, dass "guest" der Zugriff auf "someResource" verboten ist.
-				Diese Tatsache führt eine Mehrdeutigkeit ein, weil nun "someUser"
-				der Zugriff auf
-				"someResource" sowohl verboten als auch erlaubt ist, aufgrund der vererbten Regeln
-				von verschiedenen übergeordnete Rollen, die miteinander im Konflikt
-				stehen.
-			</para>
-
-			<para>
-				<classname>Zend_Acl</classname>
-				löst diese Mehrdeutigkeit dadurch auf, dass eine
-				Abfrage beendet wird, wenn die erste Regel gefunden wird, die direkt auf
-				die
-				Abfrage passt. In diesem Fall würde der Beispiel Code "allowed"
-				ausgeben, weil die "member"-Rolle vor der "guest"-Rolle untersucht wird.
-			</para>
-		</example>
-
-		<note>
-			<para>
-				Wenn man mehrere übergeordnete Rollen angibt, sollte man beachten, dass
-				die zuletzt
-				gelistete Rolle als erstes nach Regeln durchsucht wird, die auf die
-				Autorisierungsabfrage passen.
+            <para>
+                Da keine Regel speziell für die Rolle "someUser" und "someResource" definiert
+                wurde, muss <classname>Zend_Acl</classname> nach Regeln suchen, die für Rollen
+                definiert wurden, von denen "someUser" erbt. Zuerst wird die "admin"-Rolle besucht,
+                aber dort ist keine Zugriffsregel definiert. Als nächste wird die "member"-Rolle
+                besucht und <classname>Zend_Acl</classname> findet hier eine Regel, die angibt,
+                dass "member" der Zugriff auf "someResource" erlaubt ist.
+            </para>
+
+            <para>
+                Wenn <classname>Zend_Acl</classname> fortfahren würde, die für weitere
+                übergeordnete Rollen definierten Regeln zu untersuchen, würde herausgefunden
+                werden, dass "guest" der Zugriff auf "someResource" verboten ist.
+                Diese Tatsache führt eine Mehrdeutigkeit ein, weil nun "someUser" der Zugriff auf
+                "someResource" sowohl verboten als auch erlaubt ist, aufgrund der vererbten Regeln
+                von verschiedenen übergeordnete Rollen, die miteinander im Konflikt stehen.
+            </para>
+
+            <para>
+                <classname>Zend_Acl</classname> löst diese Mehrdeutigkeit dadurch auf, dass eine
+                Abfrage beendet wird, wenn die erste Regel gefunden wird, die direkt auf die
+                Abfrage passt. In diesem Fall würde der Beispiel Code "allowed"
+                ausgeben, weil die "member"-Rolle vor der "guest"-Rolle untersucht wird.
             </para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.creating">
-		<title>Erstellen einer Zugriffskontrollliste</title>
-
-		<para>
-			Eine Zugriffskontrollliste (
-			<acronym>ACL</acronym>
-			) kann jeden gewünschten Satz von
-			körperlichen oder virtuellen Objekten repräsentieren. Zu Demonstrationszwecken
-			werden
-			wir eine grundlegende
-			<acronym>ACL</acronym>
-			für ein Redaktionssystem
-			(
-			<acronym>CMS</acronym>
-			) erstellen, die mehrere Schichten von Gruppen über eine
-			Vielzahl von Bereichen verwaltet soll. Um ein
-			<acronym>ACL</acronym>
-			-Objekt zu
-			erstellen, instanzieren wir die
-			<acronym>ACL</acronym>
-			ohne Parameter:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        </example>
+
+        <note>
+            <para>
+                Wenn man mehrere übergeordnete Rollen angibt, sollte man beachten, dass die zuletzt
+                gelistete Rolle als erstes nach Regeln durchsucht wird, die auf die
+                Autorisierungsabfrage passen.
+            </para>
+        </note>
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.creating">
+        <title>Erstellen einer Zugriffskontrollliste</title>
+
+        <para>
+            Eine Zugriffskontrollliste (<acronym>ACL</acronym>) kann jeden gewünschten Satz von
+            körperlichen oder virtuellen Objekten repräsentieren. Zu Demonstrationszwecken werden
+            wir eine grundlegende <acronym>ACL</acronym> für ein Redaktionssystem
+            (<acronym>CMS</acronym>) erstellen, die mehrere Schichten von Gruppen über eine
+            Vielzahl von Bereichen verwaltet soll. Um ein <acronym>ACL</acronym>-Objekt zu
+            erstellen, instanzieren wir die <acronym>ACL</acronym> ohne Parameter:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $acl = new Zend_Acl();
 ]]></programlisting>
 
-		<note>
-			<para>
-				Solange der Entwickler keine "allow"-Regel spezifiziert, verweigert
-				<classname>Zend_Acl</classname>
-				den Zugriff auf jegliche Rechte für jede Ressource
-				durch jede Rolle.
-			</para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.role_registry">
-		<title>Rollen registrieren</title>
-
-		<para>
-			<acronym>CMS</acronym>
-			brauchen fast immer eine Hierarchie von Genehmigungen, um die
-			Autorenfähigkeiten seiner Benutzer festzulegen. Es kann eine
-			'Guest'-Gruppe geben, um
-			beschränkten Zugriff zur Demonstration zu ermöglichen, eine 'Staff'-Gruppe für
-			die
-			Mehrheit der
-			<acronym>CMS</acronym>
-			Nutzer, welche die meisten der alltäglichen
-			Aufgaben erledigen, eine 'Editor'-Gruppe für diejenigen, die für das
-			Veröffentlichen,
-			Überprüfen, Archivieren und Löschen von Inhalten zuständig sind, sowie eine
-			'Administrator'-Gruppe, dessen Aufgaben alle der anderen Gruppen
-			sowie die
-			Pflege sensibler Informationen, die Benutzerverwaltung, die
-			Backend-Konfigurationsdaten, die Datensicherung und den Export
-			beinhalten. Diese
-			Genehmigungen können durch eine Rollenregistrierung repräsentiert werden, die es
-			jeder
-			Gruppe erlaubt, die Rechte von 'übergeordneten' Gruppen zu erben sowie
-			eindeutige
-			Rechte nur für deren Gruppe bereit zu stellen. Diese Genehmigungen können
-			wie folgt
-			ausgedrückt werden:
-		</para>
-
-		<table
-			id="zend.acl.introduction.role_registry.table.example_cms_access_controls">
-			<title>Zugangsbeschränkung für ein Beispiel-CMS</title>
-			<tgroup cols="3">
-				<thead>
-					<row>
-						<entry>Name</entry>
-						<entry>Eindeutige Genehmigung</entry>
-						<entry>Erbe Genehmigungen von</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>Guest</entry>
-						<entry>View</entry>
-						<entry>N/A</entry>
-					</row>
-
-					<row>
-						<entry>Staff</entry>
-						<entry>Edit, Submit, Revise</entry>
-						<entry>Guest</entry>
-					</row>
-
-					<row>
-						<entry>Editor</entry>
-						<entry>Publish, Archive, Delete</entry>
-						<entry>Staff</entry>
-					</row>
-
-					<row>
-						<entry>Administrator</entry>
-						<entry>(bekommt kompletten Zugriff gewährt)</entry>
-						<entry>N/A</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-
-		<para>
-			Für dieses Beispiel wird
-			<classname>Zend_Acl_Role</classname>
-			verwendet, aber jedes
-			Objekt wird akzeptiert, das
-			<classname>Zend_Acl_Role_Interface</classname>
-			implementiert. Diese Gruppen können zur Rollenregistrierung wie folgt
-			hinzugefügt
-			werden:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <note>
+            <para>
+                Solange der Entwickler keine "allow"-Regel spezifiziert, verweigert
+                <classname>Zend_Acl</classname> den Zugriff auf jegliche Rechte für jede Ressource
+                durch jede Rolle.
+            </para>
+        </note>
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.role_registry">
+        <title>Rollen registrieren</title>
+
+        <para>
+            <acronym>CMS</acronym> brauchen fast immer eine Hierarchie von Genehmigungen, um die
+            Autorenfähigkeiten seiner Benutzer festzulegen. Es kann eine 'Guest'-Gruppe geben, um
+            beschränkten Zugriff zur Demonstration zu ermöglichen, eine 'Staff'-Gruppe für die
+            Mehrheit der <acronym>CMS</acronym> Nutzer, welche die meisten der alltäglichen
+            Aufgaben erledigen, eine 'Editor'-Gruppe für diejenigen, die für das Veröffentlichen,
+            Überprüfen, Archivieren und Löschen von Inhalten zuständig sind, sowie eine
+            'Administrator'-Gruppe, dessen Aufgaben alle der anderen Gruppen sowie die
+            Pflege sensibler Informationen, die Benutzerverwaltung, die
+            Backend-Konfigurationsdaten, die Datensicherung und den Export beinhalten. Diese
+            Genehmigungen können durch eine Rollenregistrierung repräsentiert werden, die es jeder
+            Gruppe erlaubt, die Rechte von 'übergeordneten' Gruppen zu erben sowie eindeutige
+            Rechte nur für deren Gruppe bereit zu stellen. Diese Genehmigungen können wie folgt
+            ausgedrückt werden:
+        </para>
+
+        <table id="zend.acl.introduction.role_registry.table.example_cms_access_controls">
+            <title>Zugangsbeschränkung für ein Beispiel-CMS</title>
+            <tgroup cols="3">
+                <thead>
+                    <row>
+                        <entry>Name</entry>
+                        <entry>Eindeutige Genehmigung</entry>
+                        <entry>Erbe Genehmigungen von</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry>Guest</entry>
+                        <entry>View</entry>
+                        <entry>N/A</entry>
+                    </row>
+
+                    <row>
+                        <entry>Staff</entry>
+                        <entry>Edit, Submit, Revise</entry>
+                        <entry>Guest</entry>
+                    </row>
+
+                    <row>
+                        <entry>Editor</entry>
+                        <entry>Publish, Archive, Delete</entry>
+                        <entry>Staff</entry>
+                    </row>
+
+                    <row>
+                        <entry>Administrator</entry>
+                        <entry>(bekommt kompletten Zugriff gewährt)</entry>
+                        <entry>N/A</entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <para>
+            Für dieses Beispiel wird <classname>Zend_Acl_Role</classname> verwendet, aber jedes
+            Objekt wird akzeptiert, das <classname>Zend_Acl_Role_Interface</classname>
+            implementiert. Diese Gruppen können zur Rollenregistrierung wie folgt hinzugefügt
+            werden:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $acl = new Zend_Acl();
 
 // Fügt Gruppen zur Rollenregistrierung hinzu unter Verwendung von Zend_Acl_Role
@@ -396,47 +291,35 @@ $acl->addRole(new Zend_Acl_Role('editor'), 'staff');
 $acl->addRole(new Zend_Acl_Role('administrator'));
 ]]></programlisting>
 
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.defining">
-		<title>Zugangsbeschränkung definieren</title>
-
-		<para>
-			Nun, da die
-			<acronym>ACL</acronym>
-			die relevanten Rollen enthält, können Regeln
-			eingerichtet werden, die definieren, wie auf Ressourcen durch Rollen zugegriffen
-			werden
-			darf. Es ist zu beachten, dass wir keine bestimmten Ressourcen in diesem
-			Beispiel
-			definiert haben, das vereinfacht wurde, um zu illustrieren, dass die Regeln
-			für alle
-			Ressourcen gelten.
-			<classname>Zend_Acl</classname>
-			stellt eine Implementation bereit,
-			bei der Regeln nur vom Allgemeinen zum Speziellen definiert werden
-			müssen, um die
-			Anzahl der benötigten Regeln zu minimieren, weil Ressourcen und Rollen die
-			Regeln
-			erben, die in ihren Vorfahren definiert worden sind.
-		</para>
-
-		<note>
-			<para>
-				Generell wendet
-				<classname>Zend_Acl</classname>
-				eine angegebene Regel dann und nur
-				dann an, wenn eine speziellere Regel nicht passt.
-			</para>
-		</note>
-
-		<para>
-			Folglich können wir einen einigermaßen komplexen Regelsatz mit sehr wenig
-			Code
-			definieren. Um die grundlegenden Genehmigungen von oben anzugeben:
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.defining">
+        <title>Zugangsbeschränkung definieren</title>
+
+        <para>
+            Nun, da die <acronym>ACL</acronym> die relevanten Rollen enthält, können Regeln
+            eingerichtet werden, die definieren, wie auf Ressourcen durch Rollen zugegriffen werden
+            darf. Es ist zu beachten, dass wir keine bestimmten Ressourcen in diesem Beispiel
+            definiert haben, das vereinfacht wurde, um zu illustrieren, dass die Regeln für alle
+            Ressourcen gelten. <classname>Zend_Acl</classname> stellt eine Implementation bereit,
+            bei der Regeln nur vom Allgemeinen zum Speziellen definiert werden müssen, um die
+            Anzahl der benötigten Regeln zu minimieren, weil Ressourcen und Rollen die Regeln
+            erben, die in ihren Vorfahren definiert worden sind.
+        </para>
+
+        <note>
+            <para>
+                Generell wendet <classname>Zend_Acl</classname> eine angegebene Regel dann und nur
+                dann an, wenn eine speziellere Regel nicht passt.
+            </para>
+        </note>
+
+        <para>
+            Folglich können wir einen einigermaßen komplexen Regelsatz mit sehr wenig Code
+            definieren. Um die grundlegenden Genehmigungen von oben anzugeben:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $acl = new Zend_Acl();
 
 $roleGuest = new Zend_Acl_Role('guest');
@@ -464,32 +347,23 @@ $acl->allow('editor', null, array('publish', 'archive', 'delete'));
 $acl->allow('administrator');
 ]]></programlisting>
 
-		<para>
-			Die
-			<constant>NULL</constant>
-			-Werte in obigen
-			<methodname>allow()</methodname>
-			-Aufrufen
-			werden verwendet, um anzugeben, dass diese Regeln für alle Ressourcen
-			gelten.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.acl.introduction.querying">
-		<title>Abfragen einer ACL</title>
-
-		<para>
-			Wir haben nun eine flexible
-			<acronym>ACL</acronym>
-			, die in der gesamten Anwendung
-			verwendet werden kann, um zu ermitteln, ob Anfragende die Genehmigung haben,
-			Funktionen
-			auszuführen. Abfragen durchzuführen ist recht einfach mit Hilfe der
-			<methodname>isAllowed()</methodname>
-			-Methode:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Die <constant>NULL</constant>-Werte in obigen <methodname>allow()</methodname>-Aufrufen
+            werden verwendet, um anzugeben, dass diese Regeln für alle Ressourcen gelten.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.acl.introduction.querying">
+        <title>Abfragen einer ACL</title>
+
+        <para>
+            Wir haben nun eine flexible <acronym>ACL</acronym>, die in der gesamten Anwendung
+            verwendet werden kann, um zu ermitteln, ob Anfragende die Genehmigung haben, Funktionen
+            auszuführen. Abfragen durchzuführen ist recht einfach mit Hilfe der
+            <methodname>isAllowed()</methodname>-Methode:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 echo $acl->isAllowed('guest', null, 'view') ?
      "allowed" : "denied";
 // erlaubt
@@ -522,5 +396,5 @@ echo $acl->isAllowed('administrator', null, 'update') ?
      "allowed" : "denied";
 // erlaubt, weil Administrator alle Rechte haben
 ]]></programlisting>
-	</sect2>
+    </sect2>
 </sect1>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 350 - 531
documentation/manual/de/module_specs/Zend_Amf-Server.xml


+ 19 - 28
documentation/manual/de/module_specs/Zend_Amf.xml

@@ -2,34 +2,25 @@
 <!-- EN-Revision: 15786 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.amf.introduction">
-	<title>Einführung</title>
+    <title>Einführung</title>
 
-	<para>
-		<classname>Zend_Amf</classname>
-		bietet Unterstützung für Adobe's
-		<ulink url="http://en.wikipedia.org/wiki/Action_Message_Format">Action
-			Message Format</ulink>
-		(
-		<acronym>AMF</acronym>
-		), um Kommunikation zwischen Adobe's
-		<ulink url="http://en.wikipedia.org/wiki/Adobe_Flash_Player">Flash
-			Player</ulink>
-		und
-		<acronym>PHP</acronym>
-		zu ermöglichen. Im speziellen, bietet es ein
-		Gateway Server Implementation für die Behandlung von Anfragen die vom
-		Flash Player zum Server gesendet werden und die Umlegung dieser Anfragen
-		zum Objekt, den Klasenmethoden, und möglichen Callbacks.
-	</para>
+    <para>
+        <classname>Zend_Amf</classname> bietet Unterstützung für Adobe's <ulink
+        url="http://en.wikipedia.org/wiki/Action_Message_Format">Action
+        Message Format</ulink> (<acronym>AMF</acronym>), um Kommunikation zwischen Adobe's
+        <ulink url="http://en.wikipedia.org/wiki/Adobe_Flash_Player">Flash
+        Player</ulink> und <acronym>PHP</acronym> zu ermöglichen. Im speziellen, bietet es ein
+        Gateway Server Implementation für die Behandlung von Anfragen die vom
+        Flash Player zum Server gesendet werden und die Umlegung dieser Anfragen
+        zum Objekt, den Klasenmethoden, und möglichen Callbacks.
+    </para>
 
-	<para>
-		Die
-		<ulink
-			url="http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf">AMF3
-			Spezifikation</ulink>
-		ist frei erhältlich, und fungiert als Referenz für die
-		Typen von Nachrichten die zwischen dem Flash Player und dem Server gesendet
-		werden.
-	</para>
+    <para>
+        Die <ulink url="http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf">AMF3
+        Spezifikation</ulink> ist frei erhältlich, und fungiert als Referenz für die
+        Typen von Nachrichten die zwischen dem Flash Player und dem Server gesendet werden.
+    </para>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 41 - 73
documentation/manual/de/module_specs/Zend_Application-AvailableResources-CacheManager.xml

@@ -2,48 +2,34 @@
 <!-- EN-Revision: 22140 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.cachemanager">
-	<title>Zend_Application_Resource_Cachemanager</title>
+    <title>Zend_Application_Resource_Cachemanager</title>
 
-	<para>
-		<classname>Zend_Application_Resource_Cachemanager</classname>
-		kann verwendet werden um ein
-		Bündel von
-		<classname>Zend_Cache</classname>
-		Optionen zu setzen die verwendet werden sollen
-		wenn Caches lazy geladen werden bei der Verwendung von
-		<classname>Zend_Cache_Manager</classname>
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_Cachemanager</classname> kann verwendet werden um ein
+        Bündel von <classname>Zend_Cache</classname> Optionen zu setzen die verwendet werden sollen
+        wenn Caches lazy geladen werden bei der Verwendung von
+        <classname>Zend_Cache_Manager</classname>
+    </para>
 
-	<para>
-		Da der Cache Manager ein Lazy Loading Mechanismus ist, werden die
-		Optionen auf Options
-		Templates übersetzt welche verwendet werden um ein Cache Objekt auf Anfrage zu
-		initialisieren.
+    <para>
+        Da der Cache Manager ein Lazy Loading Mechanismus ist, werden die Optionen auf Options
+        Templates übersetzt welche verwendet werden um ein Cache Objekt auf Anfrage zu
+        initialisieren.
     </para>
 
-	<example
-		id="zend.application.available-resources.cachemanager.configExample">
-		<title>Beispiel einer Cachemanager Ressource Konfiguration</title>
+    <example id="zend.application.available-resources.cachemanager.configExample">
+        <title>Beispiel einer Cachemanager Ressource Konfiguration</title>
 
-		<para>
-			Anbei ist eine Beispiel
-			<acronym>INI</acronym>
-			Datei die zeigt wie
-			<classname>Zend_Cache_Manager</classname>
-			konfiguriert werden kann. Das Format ist der
-			Präfix der Cachemanager Ressource (
-			<property>resources.cachemanager</property>
-			) gefolgt
-			von dem Namen der einer Cache Template/Bündel Option zugeordnet werden
-			soll (z.B.
-			<property>resources.cachemanager.database</property>
-			) und letztendlich gefolgt von einer
-			typischen
-			<classname>Zend_Cache</classname>
-			Option.
-		</para>
+        <para>
+            Anbei ist eine Beispiel <acronym>INI</acronym> Datei die zeigt wie
+            <classname>Zend_Cache_Manager</classname> konfiguriert werden kann. Das Format ist der
+            Präfix der Cachemanager Ressource (<property>resources.cachemanager</property>) gefolgt
+            von dem Namen der einer Cache Template/Bündel Option zugeordnet werden soll (z.B.
+            <property>resources.cachemanager.database</property>) und letztendlich gefolgt von einer
+            typischen <classname>Zend_Cache</classname> Option.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 resources.cachemanager.database.frontend.name = Core
 resources.cachemanager.database.frontend.customFrontendNaming = false
 resources.cachemanager.database.frontend.options.lifetime = 7200
@@ -54,32 +40,19 @@ resources.cachemanager.database.backend.options.cache_dir = "/path/to/cache"
 resources.cachemanager.database.frontendBackendAutoload = false
 ]]></programlisting>
 
-		<para>
-			Das Empfangen dieses Caches vom Cache Manager ist in Wirklichkeit so
-			einfach wie
-			der Zugriff auf eine Instanz des Managers (
-			<classname>Zend_Cache_Manager</classname>
-			)
-			was von
-			<classname>Zend_Application_Resource_Cachemanager</classname>
-			empfangen wird
-			beim Aufruf von
-			<command>$cacheManager->getCache('database');</command>
-			. Das folgende
-			Beispiel ist von einem Controller genommen bei dem auf die Bootstrap Klasse
-			als Front
-			Controller Parameter zugegriffen werden kann (welcher automatisch wärend des
-			bootstrappens zugeordnet wird). Wie man sehen kann implementiert die
-			Cache Manager
-			Ressource eine
-			<methodname>getCacheManager()</methodname>
-			Methode um die ge-bootstrappte
-			Instanz von
-			<classname>Zend_Cache_Manager</classname>
-			zu erhalten.
-		</para>
+        <para>
+            Das Empfangen dieses Caches vom Cache Manager ist in Wirklichkeit so einfach wie
+            der Zugriff auf eine Instanz des Managers (<classname>Zend_Cache_Manager</classname>)
+            was von <classname>Zend_Application_Resource_Cachemanager</classname> empfangen wird
+            beim Aufruf von <command>$cacheManager->getCache('database');</command>. Das folgende
+            Beispiel ist von einem Controller genommen bei dem auf die Bootstrap Klasse als Front
+            Controller Parameter zugegriffen werden kann (welcher automatisch wärend des
+            bootstrappens zugeordnet wird). Wie man sehen kann implementiert die Cache Manager
+            Ressource eine <methodname>getCacheManager()</methodname> Methode um die ge-bootstrappte
+            Instanz von <classname>Zend_Cache_Manager</classname> zu erhalten.
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $manager = $this->getFrontController()
             ->getParam('bootstrap')
             ->getResource('cachemanager')
@@ -87,16 +60,11 @@ $manager = $this->getFrontController()
 $dbCache = $manager->getCache('database');
 ]]></programlisting>
 
-		<para>
-			Siehe auch die Methode
-			<methodname>Zend_Cache::factory()</methodname>
-			um eine
-			Beschreibung der Standardwerte zu bekommen welche man zuordnen kann wenn ein
-			Cache
-			über eine Konfigurationsdatei konfiguriert wurde wie im obigen Beispiel
-			einer
-			<acronym>INI</acronym>
-			Datei.
-		</para>
-	</example>
+        <para>
+            Siehe auch die Methode <methodname>Zend_Cache::factory()</methodname> um eine
+            Beschreibung der Standardwerte zu bekommen welche man zuordnen kann wenn ein Cache
+            über eine Konfigurationsdatei konfiguriert wurde wie im obigen Beispiel einer
+            <acronym>INI</acronym> Datei.
+        </para>
+    </example>
 </sect2>

+ 71 - 97
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Db.xml

@@ -2,85 +2,63 @@
 <!-- EN-Revision: 22741 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.db">
-	<title>Zend_Application_Resource_Db</title>
-
-	<para>
-		<classname>Zend_Application_Resource_Db</classname>
-		initialisiert einen
-		<classname>Zend_Db</classname>
-		Adapter basieren auf den Ihm übergebenen Optionen.
-		Standardmäßig, setzt es den Adapter als Default Adapter zur Verwendung mit
-		<classname>Zend_Db_Table</classname>
-		. Wenn man mehrere Datenbanken simultan verwenden
-		will, kann man das
-		<link linkend="zend.application.available-resources.multidb">Multidb Ressource Plugin</link>
-		verwenden.
-	</para>
-
-	<para>
-		Die folgenden Konfigurationsschlüssel werden erkannt:
+    <title>Zend_Application_Resource_Db</title>
+
+    <para>
+        <classname>Zend_Application_Resource_Db</classname> initialisiert einen
+        <classname>Zend_Db</classname> Adapter basieren auf den Ihm übergebenen Optionen.
+        Standardmäßig, setzt es den Adapter als Default Adapter zur Verwendung mit
+        <classname>Zend_Db_Table</classname>. Wenn man mehrere Datenbanken simultan verwenden
+        will, kann man das <link
+            linkend="zend.application.available-resources.multidb">Multidb Ressource Plugin</link>
+        verwenden.
     </para>
 
-	<itemizedlist>
-		<listitem>
-			<para>
-				<emphasis>
-					<property>adapter</property>
-				</emphasis>
-				:
-				<classname>Zend_Db</classname>
-				Adaptertyp.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>params</property>
-				</emphasis>
-				: Assoziatives Array von
-				Konfigurationsparametern das verwendet wird wenn man die Instanz des Adapter
-				empfängt.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>isDefaultTableAdapter</property>
-				</emphasis>
-				: Ob dieser Adapter
-				als Standard-Tabellen Adapter verwendet werden soll oder nicht.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>defaultMetadataCache</property>
-				</emphasis>
-				: Der Name des
-				Cache Templates oder einer Instanz von
-				<classname>Zend_Cache_Core</classname>
-				welche
-				als Metadaten-Cache für
-				<classname>Zend_Db_Table</classname>
-				zu verwenden ist.
-			</para>
-		</listitem>
-	</itemizedlist>
-
-	<example id="zend.application.available-resources.db.configExample">
-		<title>Beispiel der Konfiguration einer DB Adapter Ressource</title>
-
-		<para>
-			Anbei ist das Beispiel einer
-			<acronym>INI</acronym>
-			Konfiguration die verwendet werden
-			kann um die DB Ressource zu initialisieren.
-		</para>
-
-		<programlisting language="ini"><![CDATA[
+    <para>
+        Die folgenden Konfigurationsschlüssel werden erkannt:
+    </para>
+
+    <itemizedlist>
+        <listitem>
+            <para>
+                <emphasis><property>adapter</property></emphasis>: <classname>Zend_Db</classname>
+                Adaptertyp.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>params</property></emphasis>: Assoziatives Array von
+                Konfigurationsparametern das verwendet wird wenn man die Instanz des Adapter
+                empfängt.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>isDefaultTableAdapter</property></emphasis>: Ob dieser Adapter
+                als Standard-Tabellen Adapter verwendet werden soll oder nicht.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>defaultMetadataCache</property></emphasis>: Der Name des
+                Cache Templates oder einer Instanz von <classname>Zend_Cache_Core</classname> welche
+                als Metadaten-Cache für <classname>Zend_Db_Table</classname> zu verwenden ist.
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <example id="zend.application.available-resources.db.configExample">
+        <title>Beispiel der Konfiguration einer DB Adapter Ressource</title>
+
+        <para>
+            Anbei ist das Beispiel einer <acronym>INI</acronym> Konfiguration die verwendet werden
+            kann um die DB Ressource zu initialisieren.
+        </para>
+
+        <programlisting language="ini"><![CDATA[
 [production]
 resources.db.adapter = "pdo_mysql"
 resources.db.params.host = "localhost"
@@ -93,36 +71,32 @@ resources.db.isDefaultTableAdapter = true
 ; angegeben werden:
 resources.db.defaultMetadataCache = "database"
 ]]></programlisting>
-	</example>
+    </example>
 
-	<note>
-		<title>Empfangen der Adapter Instanz</title>
+    <note>
+        <title>Empfangen der Adapter Instanz</title>
 
-		<para>
-			Wenn man den, mit dieser Ressource initialisierten Adapter, nicht zum
-			Standard-Tabellen Adapter macht, wie erhält man dann die Adapter
-			Instanz ?
+        <para>
+            Wenn man den, mit dieser Ressource initialisierten Adapter, nicht zum
+            Standard-Tabellen Adapter macht, wie erhält man dann die Adapter Instanz ?
         </para>
 
-		<para>
-			Wie bei jedem Ressource Plugin, kann an das DB Ressource Plugin von der
-			Bootstrap Datei
-			erhalten:
+        <para>
+            Wie bei jedem Ressource Plugin, kann an das DB Ressource Plugin von der Bootstrap Datei
+            erhalten:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $resource = $bootstrap->getPluginResource('db');
 ]]></programlisting>
 
-		<para>
-			Sobald man das Ressource Objekt hat, kann man den DB Adapter erhalten
-			indem die
-			<methodname>getDbAdapter()</methodname>
-			Methode verwendet wird:
-		</para>
+        <para>
+            Sobald man das Ressource Objekt hat, kann man den DB Adapter erhalten indem die
+            <methodname>getDbAdapter()</methodname> Methode verwendet wird:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $db = $resource->getDbAdapter();
 ]]></programlisting>
-	</note>
+    </note>
 </sect2>

+ 20 - 30
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Dojo.xml

@@ -2,41 +2,31 @@
 <!-- EN-Revision: 21357 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.dojo">
-	<title>Zend_Application_Resource_Dojo</title>
+    <title>Zend_Application_Resource_Dojo</title>
 
-	<para>
-		<classname>Zend_Application_Resource_Dojo</classname>
-		kann verwendet werden um die
-		Viewhelfer von
-		<classname>Zend_Dojo</classname>
-		zu konfigurieren.
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_Dojo</classname> kann verwendet werden um die
+        Viewhelfer von <classname>Zend_Dojo</classname> zu konfigurieren.
+    </para>
 
-	<example id="zend.application.available-resources.dojo.configExample">
-		<title>Beispiel einer Dojo Ressource Konfiguration</title>
+    <example id="zend.application.available-resources.dojo.configExample">
+        <title>Beispiel einer Dojo Ressource Konfiguration</title>
 
-		<para>
-			Anbei ist ein Beispiel einer
-			<acronym>INI</acronym>
-			Datei welches zeigt wie
-			<classname>Zend_Dojo</classname>
-			aktiviert werden kann.
-		</para>
+        <para>
+            Anbei ist ein Beispiel einer <acronym>INI</acronym> Datei welches zeigt wie
+            <classname>Zend_Dojo</classname> aktiviert werden kann.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 resources.dojo.enable = true ; Always load the Dojo javascript files
 ]]></programlisting>
 
-		<para>
-			Das
-			<classname>Zend_Dojo</classname>
-			Ressource Plugin verwendet die Optionen für
-			<methodname>Zend_Dojo_View_Helper_Dojo_Container::setOptions()</methodname>
-			um die
-			Viewhelfer zu konfigurieren. Sehen Sie bitte im Kapitel über
-			<link linkend="zend.dojo">Zend_Dojo</link>
-			für eine vollständige Beschreibung und die
-			vorhandenen Optionen nach.
-		</para>
-	</example>
+        <para>
+            Das <classname>Zend_Dojo</classname> Ressource Plugin verwendet die Optionen für
+            <methodname>Zend_Dojo_View_Helper_Dojo_Container::setOptions()</methodname> um die
+            Viewhelfer zu konfigurieren. Sehen Sie bitte im Kapitel über
+            <link linkend="zend.dojo">Zend_Dojo</link> für eine vollständige Beschreibung und die
+            vorhandenen Optionen nach.
+        </para>
+    </example>
 </sect2>

+ 125 - 182
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Frontcontroller.xml

@@ -2,173 +2,120 @@
 <!-- EN-Revision: 22741 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.frontcontroller">
-	<title>Zend_Application_Resource_Frontcontroller</title>
-
-	<para>
-		Die warscheinlich am meisten verwendete Ressource die man mit
-		<classname>Zend_Application</classname>
-		verwenden wird, ist die Front Controller Ressource,
-		die eine Möglichkeit bietet den
-		<classname>Zend_Controller_Front</classname>
-		zu
-		konfigurieren. Diese Ressource bietet die Möglichkeit verschiedenste Front
-		Controller
-		Parameter zu setzen, Plugins zu spezifizieren die initialisiert werden sollen,
-		und vieles
-		mehr.
-	</para>
-
-	<para>
-		Sobald Sie initialisiert wurde, fügt die Ressource die
-		<varname>$frontController</varname>
-		Eigenschaft vom Bootstrap in die
-		<classname>Zend_Controller_Front</classname>
-		Instanz hinzu.
-	</para>
-
-	<para>
-		Die folgenden Konfigurationsschlüssel sind vorhanden, und sind abhängig
-		von der
-		Groß- oder Kleinschreibung:
+    <title>Zend_Application_Resource_Frontcontroller</title>
+
+    <para>
+        Die warscheinlich am meisten verwendete Ressource die man mit
+        <classname>Zend_Application</classname> verwenden wird, ist die Front Controller Ressource,
+        die eine Möglichkeit bietet den <classname>Zend_Controller_Front</classname> zu
+        konfigurieren. Diese Ressource bietet die Möglichkeit verschiedenste Front Controller
+        Parameter zu setzen, Plugins zu spezifizieren die initialisiert werden sollen, und vieles
+        mehr.
     </para>
 
-	<itemizedlist>
-		<listitem>
-			<para>
-				<emphasis>
-					<property>controllerDirectory</property>
-				</emphasis>
-				: Entweder ein
-				Stringwert der ein einzelnes Controller Verzeichnis spezifiziert, oder ein
-				Array von
-				Modul und Controller Verzeichnis Paaren.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>moduleControllerDirectoryName</property>
-				</emphasis>
-				: Ein
-				Stringwert der auf ein Unterverzeichnis unter einem Modul zeigt, das
-				Controller
-				enthält.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>moduleDirectory</property>
-				</emphasis>
-				: Verzeichnis in dem Module
-				gefunden werden können.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>defaultControllerName</property>
-				</emphasis>
-				: Basisname des
-				Standard Controllers (normalerweise "index").
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>defaultAction</property>
-				</emphasis>
-				: Basisname der Standard
-				Aktion (normalerweise "index").
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>defaultModule</property>
-				</emphasis>
-				: Basisname des Standard
-				Moduls (normalerweise "default").
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>baseUrl</property>
-				</emphasis>
-				: Explizite Basis
-				<acronym>URL</acronym>
-				zur Anwendung (normalerweise automatisch erkannt).
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>plugins</property>
-				</emphasis>
-				: Array von Front Controller Plugin
-				Klassennamen. Die Ressource wird jede Klasse instanziieren (ohne Contructor
-				Argumente) und die Instanz dann mit dem Front Controller
-				registrieren. Wenn man ein
-				Plugin mit einem speziellen Stackindex registriert muss man ein Array mit
-				den zwei
-				Schlüsseln
-				<property>class</property>
-				und
-				<property>stackIndex</property>
-				angeben.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				<emphasis>
-					<property>params</property>
-				</emphasis>
-				: Array von Schlüssel und Wert
-				Paaren die mit dem Front Controller registriert werden sollen.
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<emphasis>
-					<property>returnresponse</property>
-				</emphasis>
-				: Ob das Response Objekt nach dem Dispatchen des Front Controllers
-				zurückgegeben wird oder nicht. Der Wert sollte ein Boolean sein;
-				standardmäßig ist er deaktiviert.
-			</para>
-		</listitem>
-	</itemizedlist>
-
-	<para>
-		Wenn ein Schlüssel übergeben wird der nicht erkannt wird, wird dieser
-		als Parameter beim
-		Front Controller registriert, indem er an
-		<methodname>setParam()</methodname>
-		übergeben
-		wird.
-	</para>
-
-	<example
-		id="zend.application.available-resources.frontcontroller.configExample">
-		<title>Beispiel der Konfiguration einer Front Controller Ressource</title>
-
-		<para>
-			Anbei ist ein Beispiel eines
-			<acronym>INI</acronym>
-			Abschnitts der zeigt wie die Front
-			Controller Ressource konfiguriert werden kann.
-		</para>
-
-		<programlisting language="ini"><![CDATA[
+    <para>
+        Sobald Sie initialisiert wurde, fügt die Ressource die <varname>$frontController</varname>
+        Eigenschaft vom Bootstrap in die <classname>Zend_Controller_Front</classname> Instanz hinzu.
+    </para>
+
+    <para>
+        Die folgenden Konfigurationsschlüssel sind vorhanden, und sind abhängig von der
+        Groß- oder Kleinschreibung:
+    </para>
+
+    <itemizedlist>
+        <listitem>
+            <para>
+                <emphasis><property>controllerDirectory</property></emphasis>: Entweder ein
+                Stringwert der ein einzelnes Controller Verzeichnis spezifiziert, oder ein Array von
+                Modul und Controller Verzeichnis Paaren.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>moduleControllerDirectoryName</property></emphasis>: Ein
+                Stringwert der auf ein Unterverzeichnis unter einem Modul zeigt, das Controller
+                enthält.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>moduleDirectory</property></emphasis>: Verzeichnis in dem Module
+                gefunden werden können.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>defaultControllerName</property></emphasis>: Basisname des
+                Standard Controllers (normalerweise "index").
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>defaultAction</property></emphasis>: Basisname der Standard
+                Aktion (normalerweise "index").
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>defaultModule</property></emphasis>: Basisname des Standard
+                Moduls (normalerweise "default").
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>baseUrl</property></emphasis>: Explizite Basis
+                <acronym>URL</acronym> zur Anwendung (normalerweise automatisch erkannt).
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>plugins</property></emphasis>: Array von Front Controller Plugin
+                Klassennamen. Die Ressource wird jede Klasse instanziieren (ohne Contructor
+                Argumente) und die Instanz dann mit dem Front Controller registrieren. Wenn man ein
+                Plugin mit einem speziellen Stackindex registriert muss man ein Array mit den zwei
+                Schlüsseln <property>class</property> und <property>stackIndex</property> angeben.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>params</property></emphasis>: Array von Schlüssel und Wert
+                Paaren die mit dem Front Controller registriert werden sollen.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>returnresponse</property></emphasis>: Ob das Response Objekt
+                nach dem Dispatchen des Front Controllers zurückgegeben wird oder nicht. Der Wert
+                sollte ein Boolean sein; standardmäßig ist er deaktiviert.
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        Wenn ein Schlüssel übergeben wird der nicht erkannt wird, wird dieser als Parameter beim
+        Front Controller registriert, indem er an <methodname>setParam()</methodname> übergeben
+        wird.
+    </para>
+
+    <example id="zend.application.available-resources.frontcontroller.configExample">
+        <title>Beispiel der Konfiguration einer Front Controller Ressource</title>
+
+        <para>
+            Anbei ist ein Beispiel eines <acronym>INI</acronym> Abschnitts der zeigt wie die Front
+            Controller Ressource konfiguriert werden kann.
+        </para>
+
+        <programlisting language="ini"><![CDATA[
 [production]
 resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
 resources.frontController.moduleControllerDirectoryName = "actions"
@@ -188,24 +135,20 @@ resources.frontController.env = APPLICATION_ENV
 ; Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
 resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"
 ]]></programlisting>
-	</example>
-
-	<example
-		id="zend.application.available-resources.frontcontroller.propertyExample">
-		<title>Empfangen des Front Controllers im eigenen Bootstrap</title>
-
-		<para>
-			Sobald die Front Controller Ressource initialisiert wurde, kann die
-			Front Controller
-			Instanz über die
-			<varname>$frontController</varname>
-			Eigenschaft der Bootstraps geholt
-			werden.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    </example>
+
+    <example id="zend.application.available-resources.frontcontroller.propertyExample">
+        <title>Empfangen des Front Controllers im eigenen Bootstrap</title>
+
+        <para>
+            Sobald die Front Controller Ressource initialisiert wurde, kann die Front Controller
+            Instanz über die <varname>$frontController</varname> Eigenschaft der Bootstraps geholt
+            werden.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $bootstrap->bootstrap('frontController');
 $front = $bootstrap->frontController;
 ]]></programlisting>
-	</example>
+    </example>
 </sect2>

+ 15 - 23
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Layout.xml

@@ -2,34 +2,26 @@
 <!-- EN-Revision: 21321 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.layout">
-	<title>Zend_Application_Resource_Layout</title>
+    <title>Zend_Application_Resource_Layout</title>
 
-	<para>
-		<classname>Zend_Application_Resource_Layout</classname>
-		kann verwendet werden um
-		<classname>Zend_Layout</classname>
-		zu konfigurieren. Die Optionen für die Konfiguration
-		sind
-		<link linkend="zend.layout.options">
-			die Optionen von
-			<classname>Zend_Layout</classname>
-		</link>
-		.
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_Layout</classname> kann verwendet werden um
+        <classname>Zend_Layout</classname> zu konfigurieren. Die Optionen für die Konfiguration
+        sind <link linkend="zend.layout.options">die Optionen von
+            <classname>Zend_Layout</classname></link>.
+    </para>
 
-	<example id="zend.application.available-resources.layout.configExample">
-		<title>Einfache Konfiguration eines Layouts</title>
+    <example id="zend.application.available-resources.layout.configExample">
+        <title>Einfache Konfiguration eines Layouts</title>
 
-		<para>
-			Anbei ist ein beispielhaftes
-			<acronym>INI</acronym>
-			Schnipsel das zeigt wie
-			Layout Ressourcen konfiguriert werden können.
-		</para>
+        <para>
+            Anbei ist ein beispielhaftes <acronym>INI</acronym> Schnipsel das zeigt wie
+            Layout Ressourcen konfiguriert werden können.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 resources.layout.layout = "NameOfDefaultLayout"
 resources.layout.layoutPath = "/path/to/layouts"
 ]]></programlisting>
-	</example>
+    </example>
 </sect2>

+ 128 - 174
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Locale.xml

@@ -2,200 +2,154 @@
 <!-- EN-Revision: 22741 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.locale">
-	<title>Zend_Application_Resource_Locale</title>
-
-	<para>
-		<classname>Zend_Application_Resource_Locale</classname>
-		kann verwendet werden um ein
-		Anwendungsweites Gebietsschema zu setzen welches dann in allen Klassen und Komponenten
-		verwendet wird welche mit Lokalisierung oder Internationalisierung
-		arbeiten. Standardmäßig
-		wird das Gebietsschema in einem
-		<classname>Zend_Registry</classname>
-		Eintrag mit dem
-		Schlüssel '
-		<property>Zend_Locale</property>
-		' gespeichert.
-	</para>
-
-	<para>
-		Es gibt grundsätzlich drei Anwendungsfälle für das Locale Ressource
-		Plugin. Jeder von Ihnen
-		sollte abhängig auf den Notwendigkeiten der Anwendung verwendet werden.
+    <title>Zend_Application_Resource_Locale</title>
+
+    <para>
+        <classname>Zend_Application_Resource_Locale</classname> kann verwendet werden um ein
+        Anwendungsweites Gebietsschema zu setzen welches dann in allen Klassen und Komponenten
+        verwendet wird welche mit Lokalisierung oder Internationalisierung arbeiten. Standardmäßig
+        wird das Gebietsschema in einem <classname>Zend_Registry</classname> Eintrag mit dem
+        Schlüssel '<property>Zend_Locale</property>' gespeichert.
     </para>
 
-	<sect3 id="zend.application.available-resources.locale.auto">
-		<title>Automatische Erkennung des zu verwendenden Gebietsschemas</title>
-
-		<para>
-			Ohne Spezifikation einer Option für
-			<classname>Zend_Application_Resource_Locale</classname>
-			, erkennt
-			<classname>Zend_Locale</classname>
-			das Gebietsschema, welches in der Anwendung verwendet
-			werden soll automatisch.
-		</para>
-
-		<para>
-			Diese Erkennung funktioniert weil der Client die gewünschte Sprache
-			in seiner
-			<acronym>HTTP</acronym>
-			Anfrage sendet. Normalerweise sendet der Client die Sprache
-			welche er sehen will, und
-			<classname>Zend_Locale</classname>
-			verwendet diese Information
-			für die Erkennung.
-		</para>
-
-		<para>
-			Aber es gibt 2 Probleme mit diesem Verfahren:
+    <para>
+        Es gibt grundsätzlich drei Anwendungsfälle für das Locale Ressource Plugin. Jeder von Ihnen
+        sollte abhängig auf den Notwendigkeiten der Anwendung verwendet werden.
+    </para>
+
+    <sect3 id="zend.application.available-resources.locale.auto">
+        <title>Automatische Erkennung des zu verwendenden Gebietsschemas</title>
+
+        <para>
+            Ohne Spezifikation einer Option für
+            <classname>Zend_Application_Resource_Locale</classname>, erkennt
+            <classname>Zend_Locale</classname> das Gebietsschema, welches in der Anwendung verwendet
+            werden soll automatisch.
+        </para>
+
+        <para>
+            Diese Erkennung funktioniert weil der Client die gewünschte Sprache in seiner
+            <acronym>HTTP</acronym> Anfrage sendet. Normalerweise sendet der Client die Sprache
+            welche er sehen will, und <classname>Zend_Locale</classname> verwendet diese Information
+            für die Erkennung.
+        </para>
+
+        <para>
+            Aber es gibt 2 Probleme mit diesem Verfahren:
         </para>
 
-		<itemizedlist>
-			<listitem>
-				<para>
-					Der Browser könnte so eingestellt sein das er keine Sprache sendet
+        <itemizedlist>
+            <listitem>
+                <para>
+                    Der Browser könnte so eingestellt sein das er keine Sprache sendet
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Der Benutzer könnte ein Gebietsschema manuell gesetzt haben das gar nicht
+                    existiert
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            In beiden Fällen wird <classname>Zend_Locale</classname> auf einen anderen Mechanismus
+            zurückfallen um das Gebietsschema zu erkennen:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    Wenn ein Gebietsschema gesetzt wird das nicht existiert versucht
+                    <classname>Zend_Locale</classname> diesen String degradieren.
+                </para>
+
+                <para>
+                    Wenn zum Beispiel <emphasis>en_ZZ</emphasis> gesetzt wird, dann wird es
+                    automatisch zu <emphasis>en</emphasis> degradiert. In diesem Fall wird
+                    <emphasis>en</emphasis> als Gebietsschema für die Anwendung verwendet.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Wenn das Gebietsschema durch das degradieren nicht erkannt wird, dann wird
+                    das Gebietsschema der Umgebung (Web Server) verwendet. Die meisten vorhandenen
+                    Umgebungen von Web Hostern verwenden <emphasis>en</emphasis> als Gebietsschema.
                 </para>
-			</listitem>
+            </listitem>
 
-			<listitem>
-				<para>
-					Der Benutzer könnte ein Gebietsschema manuell gesetzt haben das gar
-					nicht
-					existiert
+            <listitem>
+                <para>
+                    Wenn das Gebietsschema des Systems nicht erkannt wird, verwendet
+                    <classname>Zend_Locale</classname> sein eigenes Standardgebietsschema, welches
+                    standardmäßig auf <emphasis>en</emphasis> gesetzt wird.
                 </para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			In beiden Fällen wird
-			<classname>Zend_Locale</classname>
-			auf einen anderen Mechanismus
-			zurückfallen um das Gebietsschema zu erkennen:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					Wenn ein Gebietsschema gesetzt wird das nicht existiert versucht
-					<classname>Zend_Locale</classname>
-					diesen String degradieren.
-				</para>
-
-				<para>
-					Wenn zum Beispiel
-					<emphasis>en_ZZ</emphasis>
-					gesetzt wird, dann wird es
-					automatisch zu
-					<emphasis>en</emphasis>
-					degradiert. In diesem Fall wird
-					<emphasis>en</emphasis>
-					als Gebietsschema für die Anwendung verwendet.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Wenn das Gebietsschema durch das degradieren nicht erkannt wird,
-					dann wird
-					das Gebietsschema der Umgebung (Web Server) verwendet. Die meisten
-					vorhandenen
-					Umgebungen von Web Hostern verwenden
-					<emphasis>en</emphasis>
-					als Gebietsschema.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Wenn das Gebietsschema des Systems nicht erkannt wird, verwendet
-					<classname>Zend_Locale</classname>
-					sein eigenes Standardgebietsschema, welches
-					standardmäßig auf
-					<emphasis>en</emphasis>
-					gesetzt wird.
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Für weitere Informationen über die Erkennung von Gebietsschema sollte
-			in
-			<link linkend="zend.locale.selection.automatic">dieses Kapitel für Zend_Locale's
-				automatischer Erkennung</link>
-			gesehen werden.
-		</para>
-	</sect3>
-
-	<sect3 id="zend.application.available-resources.locale.fallback">
-		<title>Das Gebietsschema automatisch erkennen und ein eigenes Fallback
-			hinzufügen</title>
-
-		<para>
-			Die automatische Erkennung von vorher könnte zu Problemen führen wenn
-			das Gebietsschema
-			nicht erkannt werden kann und man ein anderes Standardgebietsschema als
-			<emphasis>en</emphasis>
-			haben will. Um das zu verhindern erlaubt es
-			<classname>Zend_Application_Resource_Locale</classname>
-			ein eigenes Gebietsschema zu
-			setzen welches in dem Fall verwendet wird wenn kein Gebietsschema erkannt
-			wird.
-		</para>
-
-		<example
-			id="zend.application.available-resources.locale.configExampleDetectAndFallback">
-			<title>Automatische Erkennung des Gebietsschemas und setzen eines
-				Fallbacks</title>
-
-			<para>
-				Der folgende Abschnitt zeigt wie ein eigenes Standardgebietsschema
-				gesetzt werden
-				kann welches verwendet wird wenn der Client selbst kein Gebietsschema
-				sendet.
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Für weitere Informationen über die Erkennung von Gebietsschema sollte in <link
+                linkend="zend.locale.selection.automatic">dieses Kapitel für Zend_Locale's
+                automatischer Erkennung</link> gesehen werden.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.application.available-resources.locale.fallback">
+        <title>Das Gebietsschema automatisch erkennen und ein eigenes Fallback hinzufügen</title>
+
+        <para>
+            Die automatische Erkennung von vorher könnte zu Problemen führen wenn das Gebietsschema
+            nicht erkannt werden kann und man ein anderes Standardgebietsschema als
+            <emphasis>en</emphasis> haben will. Um das zu verhindern erlaubt es
+            <classname>Zend_Application_Resource_Locale</classname> ein eigenes Gebietsschema zu
+            setzen welches in dem Fall verwendet wird wenn kein Gebietsschema erkannt wird.
+        </para>
+
+        <example id="zend.application.available-resources.locale.configExampleDetectAndFallback">
+            <title>Automatische Erkennung des Gebietsschemas und setzen eines Fallbacks</title>
+
+            <para>
+                Der folgende Abschnitt zeigt wie ein eigenes Standardgebietsschema gesetzt werden
+                kann welches verwendet wird wenn der Client selbst kein Gebietsschema sendet.
             </para>
 
-			<programlisting language="ini"><![CDATA[
+            <programlisting language="ini"><![CDATA[
 ; Versucht zuerst die automatische Erkennung,
 ; ist diese nicht erfolgreich wird nl_NL als Fallback verwendet
 resources.locale.default = "nl_NL"
 ]]></programlisting>
-		</example>
-	</sect3>
-
-	<sect3 id="zend.application.available-resources.locale.forcing">
-		<title>Erzwingen eines Gebietsschemas für die Verwendung</title>
-
-		<para>
-			Manchmal ist es nützlich ein einzelnes Gebietsschema zu definieren
-			welches verwendet
-			werden soll. Das kann durch Verwendung der Option
-			<property>force</property>
-			getan
-			werden.
-		</para>
-
-		<para>
-			In diesem Fall wird dieses einzelne Gebietsschema verwendet und die
-			automatische
-			Erkennung wird ausgeschaltet.
+        </example>
+    </sect3>
+
+    <sect3 id="zend.application.available-resources.locale.forcing">
+        <title>Erzwingen eines Gebietsschemas für die Verwendung</title>
+
+        <para>
+            Manchmal ist es nützlich ein einzelnes Gebietsschema zu definieren welches verwendet
+            werden soll. Das kann durch Verwendung der Option <property>force</property> getan
+            werden.
+        </para>
+
+        <para>
+            In diesem Fall wird dieses einzelne Gebietsschema verwendet und die automatische
+            Erkennung wird ausgeschaltet.
         </para>
 
-		<example
-			id="zend.application.available-resources.locale.configExampleFallbackOnly">
-			<title>Definition eines einzelnen Gebietsschemas für die Verwendung</title>
+        <example id="zend.application.available-resources.locale.configExampleFallbackOnly">
+            <title>Definition eines einzelnen Gebietsschemas für die Verwendung</title>
 
-			<para>
-				Der folgende Abschnitt zeigt wie ein einzelnes Gebietsschema für die
-				komplette
-				Anwendung gesetzt werden kann.
+            <para>
+                Der folgende Abschnitt zeigt wie ein einzelnes Gebietsschema für die komplette
+                Anwendung gesetzt werden kann.
             </para>
 
-			<programlisting language="ini"><![CDATA[
+            <programlisting language="ini"><![CDATA[
 ; Unabhängig von allem wird das Gebietsschema nl_NL verwendet
 resources.locale.default = "nl_NL"
 resources.locale.force = true
 ]]></programlisting>
-		</example>
-	</sect3>
+        </example>
+    </sect3>
 </sect2>

+ 20 - 28
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Log.xml

@@ -2,32 +2,25 @@
 <!-- EN-Revision: 19689 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.log">
-	<title>Zend_Application_Resource_Log</title>
+    <title>Zend_Application_Resource_Log</title>
 
-	<para>
-		<classname>Zend_Application_Resource_Log</classname>
-		instanziert eine Instanz von
-		<classname>Zend_Log</classname>
-		mit einer beliebigen Anzahl an Log Writern. Die
-		Konfiguration wird der
-		<methodname>Zend_Log::factory()</methodname>
-		Methode übergeben, was
-		es erlaubt Kombinationen von Log Writern und Filtern zu spezifizieren.
-		Die Log Instanz kann
-		später durch den Bootstrap empfangen werden um Events zu loggen.
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_Log</classname> instanziert eine Instanz von
+        <classname>Zend_Log</classname> mit einer beliebigen Anzahl an Log Writern. Die
+        Konfiguration wird der <methodname>Zend_Log::factory()</methodname> Methode übergeben, was
+        es erlaubt Kombinationen von Log Writern und Filtern zu spezifizieren. Die Log Instanz kann
+        später durch den Bootstrap empfangen werden um Events zu loggen.
+    </para>
 
-	<example id="zend.application.available-resources.log.configExample">
-		<title>Beispiel Konfiguration einer Log Ressource</title>
+    <example id="zend.application.available-resources.log.configExample">
+        <title>Beispiel Konfiguration einer Log Ressource</title>
 
-		<para>
-			Anbei ist ein Beispiel eines
-			<acronym>INI</acronym>
-			Abschnitts der zeigt wir die Log
-			Ressource konfiguriert wird.
-		</para>
+        <para>
+            Anbei ist ein Beispiel eines <acronym>INI</acronym> Abschnitts der zeigt wir die Log
+            Ressource konfiguriert wird.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 resources.log.stream.writerName = "Stream"
 resources.log.stream.writerParams.stream = APPLICATION_PATH "/../data/logs/application.log"
 resources.log.stream.writerParams.mode = "a"
@@ -35,10 +28,9 @@ resources.log.stream.filterName = "Priority"
 resources.log.stream.filterParams.priority = 4
 ]]></programlisting>
 
-		<para>
-			Für weitere Informationen über vorhandene Optionen, siehe in die
-			<link linkend="zend.log.factory">Dokumentation von Zend_Log::factory()</link>
-			.
-		</para>
-	</example>
+        <para>
+            Für weitere Informationen über vorhandene Optionen, siehe in die <link
+                linkend="zend.log.factory">Dokumentation von Zend_Log::factory()</link>.
+        </para>
+    </example>
 </sect2>

+ 20 - 29
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Mail.xml

@@ -2,39 +2,30 @@
 <!-- EN-Revision: 20115 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.mail">
-	<title>Zend_Application_Resource_Mail</title>
+    <title>Zend_Application_Resource_Mail</title>
 
-	<para>
-		<classname>Zend_Application_Resource_Mail</classname>
-		kann verwendet werden um einen
-		Transport für
-		<classname>Zend_Mail</classname>
-		zu instanzieren, oder den Standardnamen und
-		Adresse zu setzen, sowie die standardmäßigen replyto- Namen und Adressen.
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_Mail</classname> kann verwendet werden um einen
+        Transport für <classname>Zend_Mail</classname> zu instanzieren, oder den Standardnamen und
+        Adresse zu setzen, sowie die standardmäßigen replyto- Namen und Adressen.
+    </para>
 
-	<para>
-		Wenn ein Transport instanziert wird, wird er automatisch bei
-		<classname>Zend_Mail</classname>
-		registriert. Aber durch das Setzen der
-		<property>transport.register</property>
-		Direktive auf
-		<constant>FALSE</constant>
-		, findet
-		dieses Verhalten nicht mehr statt.
-	</para>
+    <para>
+        Wenn ein Transport instanziert wird, wird er automatisch bei
+        <classname>Zend_Mail</classname> registriert. Aber durch das Setzen der
+        <property>transport.register</property> Direktive auf <constant>FALSE</constant>, findet
+        dieses Verhalten nicht mehr statt.
+    </para>
 
-	<example id="zend.application.available-resources.mail.configExample">
-		<title>Beispiel der Konfiguration der Mail Ressource</title>
+    <example id="zend.application.available-resources.mail.configExample">
+        <title>Beispiel der Konfiguration der Mail Ressource</title>
 
-		<para>
-			Anbei ist ein beispielhafter
-			<acronym>INI</acronym>
-			Abschnitt der zeigt wie das Mail
-			Ressource Plugin konfiguriert wird.
-		</para>
+        <para>
+            Anbei ist ein beispielhafter <acronym>INI</acronym> Abschnitt der zeigt wie das Mail
+            Ressource Plugin konfiguriert wird.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 resources.mail.transport.type = smtp
 resources.mail.transport.host = "smtp.example.com"
 resources.mail.transport.auth = login
@@ -47,5 +38,5 @@ resources.mail.defaultFrom.name = "John Doe"
 resources.mail.defaultReplyTo.email = Jane@example.com
 resources.mail.defaultReplyTo.name = "Jane Doe"
 ]]></programlisting>
-	</example>
+    </example>
 </sect2>

+ 75 - 99
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Modules.xml

@@ -2,47 +2,37 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.modules">
-	<title>Zend_Application_Resource_Modules</title>
-
-	<para>
-		<classname>Zend_Application_Resource_Modules</classname>
-		wird verwendet im eigene
-		Anwendungsmodule zu initialisieren. Wenn das Modul eine
-		<filename>Bootstrap.php</filename>
-		Datei in seinem Root hat, und es eine Klasse die
-		<classname>Module_Bootstrap</classname>
-		heißt enthält (wobei "Module" der Modulname ist), dann wird diese
-		Klasse verwendet um das
-		Modul zu bootstrappen.
-	</para>
-
-	<para>
-		Standardmäßig wird eine Instanz vom
-		<classname>Zend_Application_Module_Autoloader</classname>
-		für das Modul erstellt, indem der
-		Modulname und das Verzeichnis dazu verwendet werden sie zu initialisieren.
-	</para>
-
-	<para>
-		Da die Modul Ressourcen standardmäßig keine Argumente entgegen nehmen
-		muss man, um das
-		über die Konfiguration zu gestatten, diese als leeres Array erstellen. In
-		der
-		<acronym>INI</acronym>
-		Stil Konfiguration sieht das etwa so aus:
-	</para>
-
-	<programlisting language="ini"><![CDATA[
+    <title>Zend_Application_Resource_Modules</title>
+
+    <para>
+        <classname>Zend_Application_Resource_Modules</classname> wird verwendet im eigene
+        Anwendungsmodule zu initialisieren. Wenn das Modul eine <filename>Bootstrap.php</filename>
+        Datei in seinem Root hat, und es eine Klasse die <classname>Module_Bootstrap</classname>
+        heißt enthält (wobei "Module" der Modulname ist), dann wird diese Klasse verwendet um das
+        Modul zu bootstrappen.
+    </para>
+
+    <para>
+        Standardmäßig wird eine Instanz vom
+        <classname>Zend_Application_Module_Autoloader</classname> für das Modul erstellt, indem der
+        Modulname und das Verzeichnis dazu verwendet werden sie zu initialisieren.
+    </para>
+
+    <para>
+        Da die Modul Ressourcen standardmäßig keine Argumente entgegen nehmen muss man, um das
+        über die Konfiguration zu gestatten, diese als leeres Array erstellen. In der
+        <acronym>INI</acronym> Stil Konfiguration sieht das etwa so aus:
+    </para>
+
+    <programlisting language="ini"><![CDATA[
 resources.modules[] =
 ]]></programlisting>
 
-	<para>
-		In
-		<acronym>XML</acronym>
-		Stil Konfiguration sieht das etwa so aus:
-	</para>
+    <para>
+        In <acronym>XML</acronym> Stil Konfiguration sieht das etwa so aus:
+    </para>
 
-	<programlisting language="xml"><![CDATA[
+    <programlisting language="xml"><![CDATA[
 <resources>
     <modules>
         <!-- Platzhlter um sicherzustellen das ein Array erstellt wird -->
@@ -51,14 +41,12 @@ resources.modules[] =
 </resources>
 ]]></programlisting>
 
-	<para>
-		Bei Verwendung eines
-		<acronym>PHP</acronym>
-		Arrays, einfach Erstellen indem ein leeres
-		Array verwendet wird:
-	</para>
+    <para>
+        Bei Verwendung eines <acronym>PHP</acronym> Arrays, einfach Erstellen indem ein leeres
+        Array verwendet wird:
+    </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 $options = array(
     'resources' => array(
         'modules' => array(),
@@ -66,43 +54,35 @@ $options = array(
 );
 ]]></programlisting>
 
-	<note>
-		<title>Abhängigkeiten der Front Controller Ressource</title>
-
-		<para>
-			Die Module Ressource hat eine Abhängigkeit zur
-			<link linkend="zend.application.available-resources.frontcontroller">Front Controller
-				Ressource</link>
-			. Man kann natürlich seine eigenen Ersatz für diese Ressource, über
-			eine eigene Front Controller Ressource Klasse, anbieten oder eine
-			Initialisierungsmethode für eine Klasse -- solange die Ressource
-			Plugin Klasse mit
-			"Frontcontroller" endet, oder die Initialisierungsmethode "_initFrontController"
-			heißt (abhängig von der Groß- und Kleinschreibung).
-		</para>
-	</note>
-
-	<example id="zend.application.available-resources.modules.configExample">
-		<title>Module konfigurieren</title>
-
-		<para>
-			Man kann eine modul-spezifische Konfiguration spezifizieren indem der
-			Modulname als
-			Präfix oder Unter-Sektion in der Konfigurationsdatei verwendet wird.
+    <note>
+        <title>Abhängigkeiten der Front Controller Ressource</title>
+
+        <para>
+            Die Module Ressource hat eine Abhängigkeit zur
+            <link linkend="zend.application.available-resources.frontcontroller">Front Controller
+            Ressource</link>. Man kann natürlich seine eigenen Ersatz für diese Ressource, über
+            eine eigene Front Controller Ressource Klasse, anbieten oder eine
+            Initialisierungsmethode für eine Klasse -- solange die Ressource Plugin Klasse mit
+            "Frontcontroller" endet, oder die Initialisierungsmethode "_initFrontController"
+            heißt (abhängig von der Groß- und Kleinschreibung).
         </para>
+    </note>
 
-		<para>
-			Nehmen wir als Beispiel an, das die eigene Anwendung ein "news" Modul
-			hat. Nachfolgend
-			sind die
-			<acronym>INI</acronym>
-			und
-			<acronym>XML</acronym>
-			Beispiele die eine
-			Konfiguration von Ressourcen in diesem Modul zeigen.
-		</para>
-
-		<programlisting language="ini"><![CDATA[
+    <example id="zend.application.available-resources.modules.configExample">
+        <title>Module konfigurieren</title>
+
+        <para>
+            Man kann eine modul-spezifische Konfiguration spezifizieren indem der Modulname als
+            Präfix oder Unter-Sektion in der Konfigurationsdatei verwendet wird.
+        </para>
+
+        <para>
+            Nehmen wir als Beispiel an, das die eigene Anwendung ein "news" Modul hat. Nachfolgend
+            sind die <acronym>INI</acronym> und <acronym>XML</acronym> Beispiele die eine
+            Konfiguration von Ressourcen in diesem Modul zeigen.
+        </para>
+
+        <programlisting language="ini"><![CDATA[
 [production]
 news.resources.db.adapter = "pdo_mysql"
 news.resources.db.params.host = "localhost"
@@ -111,7 +91,7 @@ news.resources.db.params.password = "XXXXXXX"
 news.resources.db.params.dbname = "news"
 ]]></programlisting>
 
-		<programlisting language="xml"><![CDATA[
+        <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <config>
     <production>
@@ -132,27 +112,23 @@ news.resources.db.params.dbname = "news"
     </production>
 </config>
 ]]></programlisting>
-	</example>
-
-	<example
-		id="zend.application.available-resources.modules.retrieveBootstrapExample">
-		<title>Eine spezielle Modul Bootstrap erhalten</title>
-
-		<para>
-			Manchmal will man ein Bootstrap Objekt für ein spezifisches Modul
-			erhalten --
-			möglicherweise um andere Bootstrap Methoden auszuführen, oder um den Autoloader zu
-			holen damit er konfiguriert werden kann. Das kann man erreichen indem
-			die
-			<methodname>getExecutedBootstraps()</methodname>
-			Methode der Modul Ressource verwendet
-			wird.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    </example>
+
+    <example id="zend.application.available-resources.modules.retrieveBootstrapExample">
+        <title>Eine spezielle Modul Bootstrap erhalten</title>
+
+        <para>
+            Manchmal will man ein Bootstrap Objekt für ein spezifisches Modul erhalten --
+            möglicherweise um andere Bootstrap Methoden auszuführen, oder um den Autoloader zu
+            holen damit er konfiguriert werden kann. Das kann man erreichen indem die
+            <methodname>getExecutedBootstraps()</methodname> Methode der Modul Ressource verwendet
+            wird.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $resource = $bootstrap->getPluginResource('modules');
 $moduleBootstraps = $resource->getExecutedBootstraps();
 $newsBootstrap = $moduleBootstraps['news'];
 ]]></programlisting>
-	</example>
+    </example>
 </sect2>

+ 44 - 67
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Multidb.xml

@@ -2,30 +2,25 @@
 <!-- EN-Revision: 20176 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.multidb">
-	<title>Zend_Application_Resource_Multidb</title>
+    <title>Zend_Application_Resource_Multidb</title>
 
-	<para>
-		<classname>Zend_Application_Resource_Multidb</classname>
-		wird verwendet um mehrere
-		Datenbankverbindungen zu initialisieren. Man kann die gleichen Optionen wie beim
-		<link linkend="zend.application.available-resources.db">Db Ressource Plugin</link>
-		verwenden.
-		Trotzdem kann für das Spezifizieren einer Standardverbindung auch die
-		'default' Direktive
-		verwendet werden.
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_Multidb</classname> wird verwendet um mehrere
+        Datenbankverbindungen zu initialisieren. Man kann die gleichen Optionen wie beim <link
+            linkend="zend.application.available-resources.db">Db Ressource Plugin</link> verwenden.
+        Trotzdem kann für das Spezifizieren einer Standardverbindung auch die 'default' Direktive
+        verwendet werden.
+    </para>
 
-	<example id="zend.application.available-resources.multidb.configexample">
-		<title>Mehrere Db Verbindungen konfigurieren</title>
+    <example id="zend.application.available-resources.multidb.configexample">
+        <title>Mehrere Db Verbindungen konfigurieren</title>
 
-		<para>
-			Anbei ist eine beispielhafte
-			<acronym>INI</acronym>
-			Konfiguration die verwendet werden
-			kann um zwei Db Verbindungen zu initialisieren.
-		</para>
+        <para>
+            Anbei ist eine beispielhafte <acronym>INI</acronym> Konfiguration die verwendet werden
+            kann um zwei Db Verbindungen zu initialisieren.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 [production]
 resources.multidb.db1.adapter = "pdo_mysql"
 resources.multidb.db1.host = "localhost"
@@ -40,64 +35,46 @@ resources.multidb.db2.password = "notthatpublic"
 resources.multidb.db2.dbname = "db2"
 resources.multidb.db2.default = true
 ]]></programlisting>
-	</example>
+    </example>
 
-	<example
-		id="zend.application.available-resources.multidb.retrieveSpecificDb">
-		<title>Einen speziellen Datenbankadapter empfangen</title>
+    <example id="zend.application.available-resources.multidb.retrieveSpecificDb">
+        <title>Einen speziellen Datenbankadapter empfangen</title>
 
-		<para>
-			Wenn dieses Ressource Plugin verwendet wird, will man normalerweise
-			eine spezifische
-			Datenbank erhalten. Das kann durch Verwendung von
-			<methodname>getDb()</methodname>
-			von
-			der Ressource getan werden. Die Methode
-			<methodname>getDb()</methodname>
-			gibt eine
-			Instanz einer Klasse zurück welche
-			<classname>Zend_Db_Adapter_Abstract</classname>
-			erweitert. Wenn man keine Standarddatendank gesetzt hat, wird eine
-			Exception geworfen
-			wenn diese Methode ohne die Spezifikation eines Parameters aufgerufen
-			wird.
-		</para>
+        <para>
+            Wenn dieses Ressource Plugin verwendet wird, will man normalerweise eine spezifische
+            Datenbank erhalten. Das kann durch Verwendung von <methodname>getDb()</methodname> von
+            der Ressource getan werden. Die Methode <methodname>getDb()</methodname> gibt eine
+            Instanz einer Klasse zurück welche <classname>Zend_Db_Adapter_Abstract</classname>
+            erweitert. Wenn man keine Standarddatendank gesetzt hat, wird eine Exception geworfen
+            wenn diese Methode ohne die Spezifikation eines Parameters aufgerufen wird.
+         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $resource = $bootstrap->getPluginResource('multidb');
 $db1 = $resource->getDb('db1');
 $db2 = $resource->getDb('db2');
 $defaultDb = $resource->getDb();
 ]]></programlisting>
-	</example>
+    </example>
 
-	<example
-		id="zend.application.available-resources.multidb.retrieveDefaultDb">
-		<title>Den standardmäßigen Datenbankadapter empfangen</title>
+    <example id="zend.application.available-resources.multidb.retrieveDefaultDb">
+        <title>Den standardmäßigen Datenbankadapter empfangen</title>
 
-		<para>
-			Zusätzlich kann der standardmäßige Datenbankadapter empfangen werden
-			indem die Methode
-			<methodname>getDefaultDb()</methodname>
-			verwendet wird. Wenn man keinen standardmäßigen
-			Adapter gesetzt hat, wird der erste konfigurierte Db Adapter zurückgegeben.
-			Wenn man
-			<constant>FALSE</constant>
-			als ersten Parameter spezifiziert dann wird
-			<constant>NULL</constant>
-			zurückgegeben wenn kein standardmäßiger Datenbankadapter
-			gesetzt wurde.
-		</para>
+        <para>
+            Zusätzlich kann der standardmäßige Datenbankadapter empfangen werden indem die Methode
+            <methodname>getDefaultDb()</methodname> verwendet wird. Wenn man keinen standardmäßigen
+            Adapter gesetzt hat, wird der erste konfigurierte Db Adapter zurückgegeben. Wenn man
+            <constant>FALSE</constant> als ersten Parameter spezifiziert dann wird
+            <constant>NULL</constant> zurückgegeben wenn kein standardmäßiger Datenbankadapter
+            gesetzt wurde.
+         </para>
 
-		<para>
-			Anbei ist ein Beispiel welches annimmt dass das Multidb Ressource
-			Plugin mit dem
-			obigen
-			<acronym>INI</acronym>
-			Beispiel konfiguriert wurde:
-		</para>
+        <para>
+            Anbei ist ein Beispiel welches annimmt dass das Multidb Ressource Plugin mit dem
+            obigen <acronym>INI</acronym> Beispiel konfiguriert wurde:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $resource = $bootstrap->getPluginResource('multidb');
 $db2 = $resource->getDefaultDb();
 
@@ -105,5 +82,5 @@ $db2 = $resource->getDefaultDb();
 $db1 = $resource->getDefaultDb();
 $null = $resource->getDefaultDb(false); // Null
 ]]></programlisting>
-	</example>
+    </example>
 </sect2>

+ 21 - 31
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Navigation.xml

@@ -2,41 +2,31 @@
 <!-- EN-Revision: 18621 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.navigation">
-	<title>Zend_Application_Resource_Navigation</title>
+    <title>Zend_Application_Resource_Navigation</title>
 
-	<para>
-		<classname>Zend_Application_Resource_Navigation</classname>
-		kann verwendet werden um eine
-		<classname>Zend_Navigation</classname>
-		Instanz zu konfigurieren. Die Optionen der
-		Konfiguration entsprechen
-		<link linkend="zend.navigation.pages.common.options">
-			den Optionen von
-			<classname>Zend_Navigation</classname>
-		</link>
-		.
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_Navigation</classname> kann verwendet werden um eine
+        <classname>Zend_Navigation</classname> Instanz zu konfigurieren. Die Optionen der
+        Konfiguration entsprechen <link
+            linkend="zend.navigation.pages.common.options">den Optionen von
+            <classname>Zend_Navigation</classname></link>.
+    </para>
 
-	<para>
-		Sobald die Instanz der Navigation konfiguriert wurde, wird diese
-		standardmäßig
-		<classname>Zend_View_Helper_Navigation</classname>
-		zugeordnet -- von der es später
-		geholt werden kann.
-	</para>
+    <para>
+        Sobald die Instanz der Navigation konfiguriert wurde, wird diese standardmäßig
+        <classname>Zend_View_Helper_Navigation</classname> zugeordnet -- von der es später
+        geholt werden kann.
+    </para>
 
-	<example
-		id="zend.application.available-resources.navigation.configExample">
-		<title>Beispiel der Konfiguration einer Navigations Ressource</title>
+    <example id="zend.application.available-resources.navigation.configExample">
+        <title>Beispiel der Konfiguration einer Navigations Ressource</title>
 
-		<para>
-			Anbei ist ein Beispiel eines
-			<acronym>INI</acronym>
-			Abschnitts der zeigt wir die
-			Navigations Ressource konfiguriert wird.
-		</para>
+        <para>
+            Anbei ist ein Beispiel eines <acronym>INI</acronym> Abschnitts der zeigt wir die
+            Navigations Ressource konfiguriert wird.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 resources.navigation.pages.page1.label = "Überschrift der ersten Zeile"
 resources.navigation.pages.page1.route = "Route die der ersten Seite gehört"
 
@@ -45,5 +35,5 @@ resources.navigation.pages.page1.pages.page2.type = "Zend_Navigation_Page_Uri"
 resources.navigation.pages.page1.pages.page2.label = "Überschrift Seite zwei"
 resources.navigation.pages.page1.pages.page2.uri = "/url/to/page/2"
 ]]></programlisting>
-	</example>
+    </example>
 </sect2>

+ 20 - 28
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Router.xml

@@ -2,31 +2,25 @@
 <!-- EN-Revision: 18427 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.router">
-	<title>Zend_Application_Resource_Router</title>
+    <title>Zend_Application_Resource_Router</title>
 
-	<para>
-		<classname>Zend_Application_Resource_Router</classname>
-		kann verwendet werden um den
-		Router so zu konfigurieren wie er im Front Controller registriert wird. Die
-		Konfigurationsoptionen sind die gleichen wie
-		<link linkend="zend.controller.router.routes.standard">
-			die Optionen von
-			<classname>Zend_Controller_Router_Route</classname>
-		</link>
-		.
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_Router</classname> kann verwendet werden um den
+        Router so zu konfigurieren wie er im Front Controller registriert wird. Die
+        Konfigurationsoptionen sind die gleichen wie <link
+        linkend="zend.controller.router.routes.standard">die Optionen von
+            <classname>Zend_Controller_Router_Route</classname></link>.
+    </para>
 
-	<example id="zend.application.available-resources.router.configExample">
-		<title>Beispiel Konfiguration für eine Router Ressource</title>
+    <example id="zend.application.available-resources.router.configExample">
+        <title>Beispiel Konfiguration für eine Router Ressource</title>
 
-		<para>
-			Anbei ist ein Beispiel
-			<acronym>INI</acronym>
-			Stück welches zeigt wie die Router
-			Ressource konfiguriert wird.
-		</para>
+        <para>
+            Anbei ist ein Beispiel <acronym>INI</acronym> Stück welches zeigt wie die Router
+            Ressource konfiguriert wird.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 resources.router.routes.route_id.route = "/login"
 resources.router.routes.route_id.defaults.module = "user"
 resources.router.routes.route_id.defaults.controller = "login"
@@ -36,11 +30,9 @@ resources.router.routes.route_id.defaults.action = "index"
 resources.router.chainNameSeparator = "_"
 ]]></programlisting>
 
-		<para>
-			Für weitere Informationen über den Chain Name Separator, sehen Sie
-			bitte in
-			<link linkend="zend.controller.router.routes.chain.config">dessen Sektion</link>
-			.
-		</para>
-	</example>
+        <para>
+            Für weitere Informationen über den Chain Name Separator, sehen Sie bitte in
+            <link linkend="zend.controller.router.routes.chain.config">dessen Sektion</link>.
+        </para>
+    </example>
 </sect2>

+ 62 - 89
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Session.xml

@@ -2,79 +2,63 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.session">
-	<title>Zend_Application_Resource_Session</title>
+    <title>Zend_Application_Resource_Session</title>
 
-	<para>
-		<classname>Zend_Application_Resource_Session</classname>
-		erlaubt es
-		<classname>Zend_Session</classname>
-		zu konfigurieren, sowie optional einen Session
-		SaveHandler zu initialisieren.
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_Session</classname> erlaubt es
+        <classname>Zend_Session</classname> zu konfigurieren, sowie optional einen Session
+        SaveHandler zu initialisieren.
+    </para>
 
-	<para>
-		Um einen Session Save Handler zu setzen, muß einfach der
-		Optionsschlüssel
-		<property>saveHandler</property>
-		(Groß- und Kleinschreibung beachten) an die Ressource
-		übergeben werden. Der Wert dieser Option kann einer der folgenden sein:
-	</para>
+    <para>
+        Um einen Session Save Handler zu setzen, muß einfach der Optionsschlüssel
+        <property>saveHandler</property> (Groß- und Kleinschreibung beachten) an die Ressource
+        übergeben werden. Der Wert dieser Option kann einer der folgenden sein:
+    </para>
 
-	<itemizedlist>
-		<listitem>
-			<para>
-				<type>String</type>
-				: Ein String der eine Klasse benennt die
-				<classname>Zend_Session_SaveHandler_Interface</classname>
-				implementiert und
-				initiiert werden soll.
-			</para>
-		</listitem>
+    <itemizedlist>
+        <listitem>
+            <para>
+                <type>String</type>: Ein String der eine Klasse benennt die
+                <classname>Zend_Session_SaveHandler_Interface</classname> implementiert und
+                initiiert werden soll.
+            </para>
+        </listitem>
 
-		<listitem>
-			<para>
-				<type>Array</type>
-				: Ein Array mit den Schlüsseln "class", und optional
-				"options", das eine Klasse benennt die
-				<classname>Zend_Session_SaveHandler_Interface</classname>
-				implementiert und iniiert
-				werden, und ein Array von Optionen die an dessen Contructor übergeben
-				werden soll.
-			</para>
-		</listitem>
+        <listitem>
+            <para>
+                <type>Array</type>: Ein Array mit den Schlüsseln "class", und optional
+                "options", das eine Klasse benennt die
+                <classname>Zend_Session_SaveHandler_Interface</classname> implementiert und iniiert
+                werden, und ein Array von Optionen die an dessen Contructor übergeben werden soll.
+            </para>
+        </listitem>
 
-		<listitem>
-			<para>
-				<classname>Zend_Session_SaveHandler_Interface</classname>
-				: Ein Objekt welches dieses
-				Interface implementiert.
-			</para>
-		</listitem>
-	</itemizedlist>
+        <listitem>
+            <para>
+                <classname>Zend_Session_SaveHandler_Interface</classname>: Ein Objekt welches dieses
+                Interface implementiert.
+            </para>
+        </listitem>
+    </itemizedlist>
 
-	<para>
-		Jeder andere übergebene Optionsschlüssel wird an
-		<methodname>Zend_Session::setOptions()</methodname>
-		übergeben um
-		<classname>Zend_Session</classname>
-		zu konfigurieren.
-	</para>
+    <para>
+        Jeder andere übergebene Optionsschlüssel wird an
+        <methodname>Zend_Session::setOptions()</methodname> übergeben um
+        <classname>Zend_Session</classname> zu konfigurieren.
+    </para>
 
-	<example id="zend.application.available-resources.session.configExample">
-		<title>Beispiel der Konfiguration einer Session Ressource</title>
+    <example id="zend.application.available-resources.session.configExample">
+        <title>Beispiel der Konfiguration einer Session Ressource</title>
 
-		<para>
-			Anbei ist das Beispiel eines
-			<acronym>INI</acronym>
-			Abschnitts der zeigt wie die
-			Session Ressource konfiguriert werden kann. Er setzt verschiedene
-			<classname>Zend_Session</classname>
-			Optionen, und konfiguriert eine
-			<classname>Zend_Session_SaveHandler_DbTable</classname>
-			Instanz.
-		</para>
+        <para>
+            Anbei ist das Beispiel eines <acronym>INI</acronym> Abschnitts der zeigt wie die
+            Session Ressource konfiguriert werden kann. Er setzt verschiedene
+            <classname>Zend_Session</classname> Optionen, und konfiguriert eine
+            <classname>Zend_Session_SaveHandler_DbTable</classname> Instanz.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 resources.session.save_path = APPLICATION_PATH "/../data/session"
 resources.session.use_only_cookies = true
 resources.session.remember_me_seconds = 864000
@@ -90,31 +74,20 @@ resources.session.saveHandler.options.modifiedColumn = "modified"
 resources.session.saveHandler.options.dataColumn = "session_data"
 resources.session.saveHandler.options.lifetimeColumn = "lifetime"
 ]]></programlisting>
-	</example>
+    </example>
 
-	<note>
-		<title>Die Datenbank zuerst bootstrappen!</title>
+    <note>
+        <title>Die Datenbank zuerst bootstrappen!</title>
 
-		<para>
-			Wenn man den
-			<classname>Zend_Session_SaveHandler_DbTable</classname>
-			Session Save
-			Handler konfiguriert, muß man für diesen zuerst die Datenbank Verbindung
-			konfigurieren
-			damit er arbeitet. Das kann entweder durch Verwendung der
-			<link linkend="zend.application.available-resources.db">Db</link>
-			Ressource getan werden
-			-- und indem man sicherstellt das der "
-			<property>resources.db</property>
-			" Schlüssel vor
-			dem "
-			<property>resources.session</property>
-			" Schlüssel kommt -- oder durch Schreiben
-			einer eigenen Ressource welche die Datenbank initialisiert, und im
-			speziellen den
-			standardmäßigen
-			<classname>Zend_Db_Table</classname>
-			Adapter setzt.
-		</para>
-	</note>
+        <para>
+            Wenn man den <classname>Zend_Session_SaveHandler_DbTable</classname> Session Save
+            Handler konfiguriert, muß man für diesen zuerst die Datenbank Verbindung konfigurieren
+            damit er arbeitet. Das kann entweder durch Verwendung der <link
+                linkend="zend.application.available-resources.db">Db</link> Ressource getan werden
+            -- und indem man sicherstellt das der "<property>resources.db</property>" Schlüssel vor
+            dem "<property>resources.session</property>" Schlüssel kommt -- oder durch Schreiben
+            einer eigenen Ressource welche die Datenbank initialisiert, und im speziellen den
+            standardmäßigen <classname>Zend_Db_Table</classname> Adapter setzt.
+        </para>
+    </note>
 </sect2>

+ 21 - 34
documentation/manual/de/module_specs/Zend_Application-AvailableResources-View.xml

@@ -2,46 +2,33 @@
 <!-- EN-Revision: 22593 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.view">
-	<title>Zend_Application_Resource_View</title>
+    <title>Zend_Application_Resource_View</title>
 
-	<para>
-		<classname>Zend_Application_Resource_View</classname>
-		kann verwendet werden um eine Instanz
-		von
-		<classname>Zend_View</classname>
-		zu konfigurieren. Konfigurations Optionen sind
-		<link linkend="zend.view.introduction.options">
-			die
-			<classname>Zend_View</classname>
-			Optionen
-		</link>
-		.
-	</para>
+    <para>
+        <classname>Zend_Application_Resource_View</classname> kann verwendet werden um eine Instanz
+        von <classname>Zend_View</classname> zu konfigurieren. Konfigurations Optionen sind <link
+            linkend="zend.view.introduction.options">die <classname>Zend_View</classname>
+            Optionen</link>.
+    </para>
 
-	<para>
-		Sobald die View Instanz konfiguriert wurde, erstellt Sie eine Instanz
-		von
-		<classname>Zend_Controller_Action_Helper_ViewRenderer</classname>
-		und registriert den
-		ViewRenderer im
-		<classname>Zend_Controller_Action_HelperBroker</classname>
-		-- von dem man
-		Sie später empfangen kann.
-	</para>
+    <para>
+        Sobald die View Instanz konfiguriert wurde, erstellt Sie eine Instanz von
+        <classname>Zend_Controller_Action_Helper_ViewRenderer</classname> und registriert den
+        ViewRenderer im <classname>Zend_Controller_Action_HelperBroker</classname> -- von dem man
+        Sie später empfangen kann.
+    </para>
 
-	<example id="zend.application.available-resources.view.configExample">
-		<title>Beispiel der Konfiguration einer View Ressource</title>
+    <example id="zend.application.available-resources.view.configExample">
+        <title>Beispiel der Konfiguration einer View Ressource</title>
 
-		<para>
-			Anbei ist das Beispiel eines
-			<acronym>INI</acronym>
-			Abschnitts der zeigt wie die View
-			Ressource konfiguriert werden kann.
-		</para>
+        <para>
+            Anbei ist das Beispiel eines <acronym>INI</acronym> Abschnitts der zeigt wie die View
+            Ressource konfiguriert werden kann.
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 resources.view.encoding = "UTF-8"
 resources.view.basePath = APPLICATION_PATH "/views/"
 ]]></programlisting>
-	</example>
+    </example>
 </sect2>

+ 19 - 23
documentation/manual/de/module_specs/Zend_Application-AvailableResources.xml

@@ -2,29 +2,25 @@
 <!-- EN-Revision: 21321 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.application.available-resources" xmlns:xi="http://www.w3.org/2001/XInclude">
-	<title>Vorhandene Ressource Plugins</title>
+    <title>Vorhandene Ressource Plugins</title>
 
-	<para>
-		Hier kann man
-		<acronym>API</acronym>
-		-artige Dokumentation über alle Ressource Plugins
-		finden die standardmäßig in
-		<classname>Zend_Application</classname>
-		vorhanden sind.
-	</para>
+    <para>
+        Hier kann man <acronym>API</acronym>-artige Dokumentation über alle Ressource Plugins
+        finden die standardmäßig in <classname>Zend_Application</classname> vorhanden sind.
+    </para>
 
-	<xi:include href="Zend_Application-AvailableResources-CacheManager.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Db.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Dojo.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Frontcontroller.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Layout.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Locale.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Log.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Mail.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Modules.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Multidb.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Navigation.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Router.xml" />
-	<xi:include href="Zend_Application-AvailableResources-Session.xml" />
-	<xi:include href="Zend_Application-AvailableResources-View.xml" />
+    <xi:include href="Zend_Application-AvailableResources-CacheManager.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Db.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Dojo.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Frontcontroller.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Layout.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Locale.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Log.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Mail.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Modules.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Multidb.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Navigation.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Router.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Session.xml" />
+    <xi:include href="Zend_Application-AvailableResources-View.xml" />
 </sect1>

+ 431 - 579
documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Application.xml

@@ -2,587 +2,439 @@
 <!-- EN-Revision: 21357 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.core-functionality.application">
-	<title>Zend_Application</title>
-
-	<para>
-		<classname>Zend_Application</classname>
-		bietet die Basisfunktionalität der Komponente, und
-		ist der Eintrittspunkt zur eigenen Zend Framework Anwendung. Sein Zweck
-		ist zweigeteilt: das
-		Setup der
-		<acronym>PHP</acronym>
-		Umgebung (inklusive Autoloading), und das
-		Anwendungs-Bootstrap auszuführen.
-	</para>
-
-	<para>
-		Typischerweise, wird man die komplette Konfiguration an den
-		<classname>Zend_Application</classname>
-		Konstruktor übergeben, aber man kann das Objekt auch
-		komplett konfigurieren indem dessen eigene Methoden verwendet werden. Diese
-		Referenz dient
-		dazu beide Fälle zu zeigen.
-	</para>
-
-	<table id="zend.application.core-functionality.application.api.options">
-		<title>Optionen für Zend_Application</title>
-
-		<tgroup cols="2">
-			<thead>
-				<row>
-					<entry>Option</entry>
-					<entry>Beschreibung</entry>
-				</row>
-			</thead>
-
-			<tbody>
-				<row>
-					<entry>
-						<emphasis>
-							<property>phpSettings</property>
-						</emphasis>
-					</entry>
-
-					<entry>
-						<para>
-							Array von
-							<filename>php.ini</filename>
-							Einstellungen die zu verwenden
-							sind. Die Schlüssel sollten die
-							<filename>php.ini</filename>
-							Schlüssel
-							sein.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<emphasis>
-							<property>includePaths</property>
-						</emphasis>
-					</entry>
-
-					<entry>
-						<para>
-							Zusätzliche Pfade die dem
-							<emphasis>include_path</emphasis>
-							vorangestellt werden. Sollte ein Array von Pfaden sein.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<emphasis>
-							<property>autoloaderNamespaces</property>
-						</emphasis>
-					</entry>
-
-					<entry>
-						<para>
-							Array von zusätzlichen Namespaces die bei der
-							<classname>Zend_Loader_Autoloader</classname>
-							Instanz zu registrieren
-							sind.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<emphasis>
-							<property>bootstrap</property>
-						</emphasis>
-					</entry>
-
-					<entry>
-						<para>
-							Entweder der String mit dem Pfad zur Bootstrap Klasse, oder ein Array
-							mit Elementen für 'path' und 'class' für den Bootstrap der
-							Anwendung.
+    <title>Zend_Application</title>
+
+    <para>
+        <classname>Zend_Application</classname> bietet die Basisfunktionalität der Komponente, und
+        ist der Eintrittspunkt zur eigenen Zend Framework Anwendung. Sein Zweck ist zweigeteilt: das
+        Setup der <acronym>PHP</acronym> Umgebung (inklusive Autoloading), und das
+        Anwendungs-Bootstrap auszuführen.
+    </para>
+
+    <para>
+        Typischerweise, wird man die komplette Konfiguration an den
+        <classname>Zend_Application</classname> Konstruktor übergeben, aber man kann das Objekt auch
+        komplett konfigurieren indem dessen eigene Methoden verwendet werden. Diese Referenz dient
+        dazu beide Fälle zu zeigen.
+    </para>
+
+    <table id="zend.application.core-functionality.application.api.options">
+        <title>Optionen für Zend_Application</title>
+
+        <tgroup cols="2">
+            <thead>
+                <row>
+                    <entry>Option</entry>
+                    <entry>Beschreibung</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry><emphasis><property>phpSettings</property></emphasis></entry>
+
+                    <entry>
+                        <para>
+                            Array von <filename>php.ini</filename> Einstellungen die zu verwenden
+                            sind. Die Schlüssel sollten die <filename>php.ini</filename> Schlüssel
+                            sein.
                         </para>
-					</entry>
-				</row>
-			</tbody>
-		</tgroup>
-	</table>
-
-	<note>
-		<title>Namen der Optionen</title>
-
-		<para>
-			Beachten Sie das die Namen für die Optionen von der Groß- und Kleinschreibung
-			abhängen.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><emphasis><property>includePaths</property></emphasis></entry>
+
+                    <entry>
+                        <para>
+                            Zusätzliche Pfade die dem <emphasis>include_path</emphasis>
+                            vorangestellt werden. Sollte ein Array von Pfaden sein.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><emphasis><property>autoloaderNamespaces</property></emphasis></entry>
+
+                    <entry>
+                        <para>
+                            Array von zusätzlichen Namespaces die bei der
+                            <classname>Zend_Loader_Autoloader</classname> Instanz zu registrieren
+                            sind.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><emphasis><property>bootstrap</property></emphasis></entry>
+
+                    <entry>
+                        <para>
+                            Entweder der String mit dem Pfad zur Bootstrap Klasse, oder ein Array
+                            mit Elementen für 'path' und 'class' für den Bootstrap der Anwendung.
+                        </para>
+                    </entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
+
+    <note>
+        <title>Namen der Optionen</title>
+
+        <para>
+            Beachten Sie das die Namen für die Optionen von der Groß- und Kleinschreibung abhängen.
         </para>
-	</note>
-
-	<table id="zend.application.core-functionality.application.api.table">
-		<title>Zend_Application Methoden</title>
-
-		<tgroup cols="4">
-			<thead>
-				<row>
-					<entry>Methode</entry>
-					<entry>Rückgabewert</entry>
-					<entry>Parameter</entry>
-					<entry>Beschreibung</entry>
-				</row>
-			</thead>
-
-			<tbody>
-				<row>
-					<entry>
-						<methodname>__construct($environment, $options = null)</methodname>
-					</entry>
-
-					<entry>
-						<type>Void</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$environment</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									String Repräsentation der aktuellen Anwendungsumgebung.
-									Typischerweise kann ein String "development", "testing", "qa"
-									oder "production" enthalten, wird aber von den eigenen
-									organisatorischen Notwendigkeiten bestimmt.
-								</para>
-							</listitem>
-
-							<listitem>
-								<para>
-									<varname>$options</varname>
-									:
-									<emphasis>Optional</emphasis>
-									.
-									Das Argument kann einen der folgenden Werte haben:
-								</para>
-
-								<itemizedlist>
-									<listitem>
-										<para>
-											<emphasis>
-												<type>String</type>
-											</emphasis>
-											: Pfad zu einer
-											<classname>Zend_Config</classname>
-											Datei für die eigene
-											Anwendung.
-											<varname>$environment</varname>
-											wird
-											verwendet um zu erkennen welche Sektion der
-											Konfiguration geholt werden soll.
-										</para>
-
-										<para>
-											Ab 1.10 kann man auch mehrere Pfade übergeben übergeben
-											welche Konfigurationsdateien enthalten die in eine
-											einzelne Konfiguration zusammengefügt werden sollen. Das
-											Hilft bei der Reduzierung von doppelten Konfigurationen
-											über mehrere Kontexte welche die gleichen gemeinsamen
-											Einstellungen teilen (z.B. Konfiguration für
-											<acronym>HTTP</acronym>
-											, oder
-											<acronym>CLI</acronym>
-											,
-											welche alle einige Charakteristiken teilen aber mit
-											deren eigenen wiedersprüchlichen Werten für andere)
-											oder indem eine lange Konfiguration in viele kleinere
-											kategorisierte Dateien geteilt wird. Der Parameter ist
-											in diesem Fall ein Array mit einem einzelnen Schlüssel
-											"configs" dessen Wert ein Array von Dateien ist welche
-											zusammengefügt werden. Beachte: Dies bedeutet das man
-											entweder einen literalen Pfad übergibt, oder
-											<command>array("configs"=>array("/path1","/path2"[,...]));</command>
-											.
-										</para>
-									</listitem>
-
-									<listitem>
-										<para>
-											<emphasis>
-												<type>Array</type>
-											</emphasis>
-											: Assoziatives
-											Array von Konfigurationsdaten für die eigene Anwendung.
-										</para>
-									</listitem>
-
-									<listitem>
-										<para>
-											<emphasis>
-												<classname>Zend_Config</classname>
-											</emphasis>
-											:
-											Objekt Instanz der Konfiguration.
-										</para>
-									</listitem>
-								</itemizedlist>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Konstruktor. Die Argumente sind wie beschrieben, und werden
-							verwendet
-							um den initialen Objektstatus zu setzen. Eine Instanz von
-							<classname>Zend_Loader_Autoloader</classname>
-							wird während der
-							Instanziierung registriert. Optionen die an den Konstruktor übergeben
-							werden, werden an
-							<methodname>setOptions()</methodname>
-							weitergeleitet.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getEnvironment()</methodname>
-					</entry>
-					<entry>
-						<type>String</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfangen des Umgebungsstrings der an den Konstruktor übergeben wurde.
+    </note>
+
+    <table id="zend.application.core-functionality.application.api.table">
+        <title>Zend_Application Methoden</title>
+
+        <tgroup cols="4">
+            <thead>
+                <row>
+                    <entry>Methode</entry>
+                    <entry>Rückgabewert</entry>
+                    <entry>Parameter</entry>
+                    <entry>Beschreibung</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry>
+                        <methodname>__construct($environment, $options = null)</methodname>
+                    </entry>
+
+                    <entry><type>Void</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$environment</varname>: <emphasis>Benötigt</emphasis>.
+                                    String Repräsentation der aktuellen Anwendungsumgebung.
+                                    Typischerweise kann ein String "development", "testing", "qa"
+                                    oder "production" enthalten, wird aber von den eigenen
+                                    organisatorischen Notwendigkeiten bestimmt.
+                                </para>
+                            </listitem>
+
+                            <listitem>
+                                <para>
+                                    <varname>$options</varname>: <emphasis>Optional</emphasis>.
+                                    Das Argument kann einen der folgenden Werte haben:
+                                </para>
+
+                                <itemizedlist>
+                                    <listitem>
+                                        <para>
+                                            <emphasis><type>String</type></emphasis>: Pfad zu einer
+                                            <classname>Zend_Config</classname> Datei für die eigene
+                                            Anwendung. <varname>$environment</varname> wird
+                                            verwendet um zu erkennen welche Sektion der
+                                            Konfiguration geholt werden soll.
+                                        </para>
+
+                                        <para>
+                                            Ab 1.10 kann man auch mehrere Pfade übergeben übergeben
+                                            welche Konfigurationsdateien enthalten die in eine
+                                            einzelne Konfiguration zusammengefügt werden sollen. Das
+                                            Hilft bei der Reduzierung von doppelten Konfigurationen
+                                            über mehrere Kontexte welche die gleichen gemeinsamen
+                                            Einstellungen teilen (z.B. Konfiguration für
+                                            <acronym>HTTP</acronym>, oder <acronym>CLI</acronym>,
+                                            welche alle einige Charakteristiken teilen aber mit
+                                            deren eigenen wiedersprüchlichen Werten für andere)
+                                            oder indem eine lange Konfiguration in viele kleinere
+                                            kategorisierte Dateien geteilt wird. Der Parameter ist
+                                            in diesem Fall ein Array mit einem einzelnen Schlüssel
+                                            "configs" dessen Wert ein Array von Dateien ist welche
+                                            zusammengefügt werden. Beachte: Dies bedeutet das man
+                                            entweder einen literalen Pfad übergibt, oder
+                                            <command>array("configs"=>array("/path1","/path2"[,...]));</command>.
+                                        </para>
+                                    </listitem>
+
+                                    <listitem>
+                                        <para>
+                                            <emphasis><type>Array</type></emphasis>: Assoziatives
+                                            Array von Konfigurationsdaten für die eigene Anwendung.
+                                        </para>
+                                    </listitem>
+
+                                    <listitem>
+                                        <para>
+                                            <emphasis><classname>Zend_Config</classname></emphasis>:
+                                            Objekt Instanz der Konfiguration.
+                                        </para>
+                                    </listitem>
+                                </itemizedlist>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Konstruktor. Die Argumente sind wie beschrieben, und werden verwendet
+                            um den initialen Objektstatus zu setzen. Eine Instanz von
+                            <classname>Zend_Loader_Autoloader</classname> wird während der
+                            Instanziierung registriert. Optionen die an den Konstruktor übergeben
+                            werden, werden an <methodname>setOptions()</methodname> weitergeleitet.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getEnvironment()</methodname></entry>
+                    <entry><type>String</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfangen des Umgebungsstrings der an den Konstruktor übergeben wurde.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getAutoloader()</methodname></entry>
+                    <entry><classname>Zend_Loader_Autoloader</classname></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfangen der <classname>Zend_Loader_Autoloader</classname> Instanz die
+                            während der Instanziierung registriert wurde.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>setOptions(array $options)</methodname></entry>
+                    <entry><classname>Zend_Application</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$options</varname>: <emphasis>Benötigt</emphasis>.
+                                    Ein Array von Anweundungsoptionen.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Alle Optionen werden intern gespeichert, und der mehrfache Aufruf der
+                            Methode wird Optionen zusammenfügen. Optionen die zu den verschiedenen
+                            Setter Methoden passen werden an diese Methoden übergeben. Als Beispiel
+                            wird die Option "phpSettings" dann an
+                            <methodname>setPhpSettings()</methodname> übergeben. (Optionsnamen sind
+                            abhängig von der Groß- und Kleinschreibung.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getOptions()</methodname></entry>
+                    <entry><type>Array</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfängt alle Optionen die verwendet wurden um das Objekt zu
+                            initialisieren; könnte verwendet werden um
+                            <classname>Zend_Config</classname> Optionen zwischen Anfragen in ein
+                            serialisierbares Format zu cachen.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>hasOption($key)</methodname></entry>
+                    <entry><type>Boolean</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$key</varname>: String des Optionsschlüssels der
+                                    gesucht wird.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Erkennt ob eine Option mit dem spezifizierten Schlüssel registriert
+                            wurde oder nicht. Schlüssel sind unabhängig von der Groß- oder
+                            Kleinschreibung.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getOption($key)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$key</varname>: String des Optionsschlüssels der
+                                    gesucht wird.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Empfängt den Optionswert eines angegebenen Schlüssels. Gibt
+                            <constant>NULL</constant> zurück wenn der Schlüssel nicht existiert.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry>
+                        <methodname>setPhpSettings(array $settings, $prefix = '')</methodname>
+                    </entry>
+                    <entry><classname>Zend_Application</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$settings</varname>: <emphasis>Benötigt</emphasis>.
+                                    Assoziatives Array von <acronym>PHP</acronym>
+                                    <acronym>INI</acronym> Einstellungen.
+                                </para>
+                            </listitem>
+
+                            <listitem>
+                                <para>
+                                    <varname>$prefix</varname>: <emphasis>Optional</emphasis>.
+                                    String Präfix der Optionsschlüssel vorangestellt werden soll.
+                                    Wird intern verwendet um das Mapping von verschachtelten Array
+                                    zu Punkt-getrennten <filename>php.ini</filename> Schlüssels zu
+                                    erlauben. Bei normaler Verwendung sollte dieses Argument nie von
+                                    einem Benutzer übergeben werden.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Setzt Laufzeit <filename>php.ini</filename> Einstellungen.
+                            Punkt-getrennte Einstellungen können hierarchisch verschachtelt sein
+                            (welche in <classname>Zend_Config</classname> <acronym>INI</acronym>
+                            Dateien auftreten können) über ein Array-von-Arrays, und wird trotzdem
+                            korrekt aufgelöst.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry>
+                        <methodname>setAutoloaderNamespaces(array $namespaces)</methodname>
+                    </entry>
+
+                    <entry><classname>Zend_Application</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$namespaces</varname>: <emphasis>Benötigt</emphasis>.
+                                    Array von Strings die den Namespace repräsentieren der mit der
+                                    <classname>Zend_Loader_Autoloader</classname> Instanz
+                                    registriert wird.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Registriert den Namespace mit der
+                            <classname>Zend_Loader_Autoloader</classname> Instanz.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>setBootstrap($path, $class = null)</methodname></entry>
+                    <entry><classname>Zend_Application</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$path</varname>: <emphasis>Benötigt</emphasis>.
+                                    Kann entweder eine Instanz von
+                                    <classname>Zend_Application_Bootstrap_Bootstrapper</classname>,
+                                    ein String Pfad zur Bootstrap Klasse, ein assoziatives Array von
+                                    Klassenname =&gt; Dateiname, oder ein assoziatives Array mit den
+                                    Schlüsseln 'class' und 'path' sein.
+                                </para>
+                            </listitem>
+
+                            <listitem>
+                                <para>
+                                    <varname>$class</varname>: <emphasis>Optional</emphasis>. Wenn
+                                    <varname>$path</varname> ein String ist, kann
+                                    <varname>$class</varname> spezifiziert werden, und sollte ein
+                                    String des Klassennamens der Klasse sein die in der Datei
+                                    enthalten ist die den Pfad repräsentiert.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getBootstrap()</methodname></entry>
+
+                    <entry>
+                        <constant>NULL</constant> |
+                        <classname>Zend_Application_Bootstrap_Bootstrapper</classname>
+                    </entry>
+
+                    <entry>N/A</entry>
+                    <entry><para>Empfängt die registrierte Bootstrap Instanz.</para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>bootstrap()</methodname></entry>
+                    <entry><type>Void</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Ruft die <methodname>bootstrap()</methodname> Methode des Bootstraps auf
+                            um die Anwendung zu bootstrappen.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getAutoloader()</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Loader_Autoloader</classname>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfangen der
-							<classname>Zend_Loader_Autoloader</classname>
-							Instanz die
-							während der Instanziierung registriert wurde.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setOptions(array $options)</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$options</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Ein Array von Anweundungsoptionen.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Alle Optionen werden intern gespeichert, und der mehrfache Aufruf
-							der
-							Methode wird Optionen zusammenfügen. Optionen die zu den verschiedenen
-							Setter Methoden passen werden an diese Methoden übergeben. Als
-							Beispiel
-							wird die Option "phpSettings" dann an
-							<methodname>setPhpSettings()</methodname>
-							übergeben. (Optionsnamen sind
-							abhängig von der Groß- und Kleinschreibung.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getOptions()</methodname>
-					</entry>
-					<entry>
-						<type>Array</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfängt alle Optionen die verwendet wurden um das Objekt zu
-							initialisieren; könnte verwendet werden um
-							<classname>Zend_Config</classname>
-							Optionen zwischen Anfragen in ein
-							serialisierbares Format zu cachen.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>hasOption($key)</methodname>
-					</entry>
-					<entry>
-						<type>Boolean</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$key</varname>
-									: String des Optionsschlüssels der
-									gesucht wird.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Erkennt ob eine Option mit dem spezifizierten Schlüssel registriert
-							wurde oder nicht. Schlüssel sind unabhängig von der Groß- oder
-							Kleinschreibung.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>run()</methodname></entry>
+                    <entry><type>Void</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Ruft die <methodname>run()</methodname> Methode des Bootstraps auf um
+                            die Anwendung auszuführen.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getOption($key)</methodname>
-					</entry>
-					<entry>
-						<type>Mixed</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$key</varname>
-									: String des Optionsschlüssels der
-									gesucht wird.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Empfängt den Optionswert eines angegebenen Schlüssels. Gibt
-							<constant>NULL</constant>
-							zurück wenn der Schlüssel nicht existiert.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setPhpSettings(array $settings, $prefix = '')</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$settings</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Assoziatives Array von
-									<acronym>PHP</acronym>
-									<acronym>INI</acronym>
-									Einstellungen.
-								</para>
-							</listitem>
-
-							<listitem>
-								<para>
-									<varname>$prefix</varname>
-									:
-									<emphasis>Optional</emphasis>
-									.
-									String Präfix der Optionsschlüssel vorangestellt werden soll.
-									Wird intern verwendet um das Mapping von verschachtelten Array
-									zu Punkt-getrennten
-									<filename>php.ini</filename>
-									Schlüssels zu
-									erlauben. Bei normaler Verwendung sollte dieses Argument nie von
-									einem Benutzer übergeben werden.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Setzt Laufzeit
-							<filename>php.ini</filename>
-							Einstellungen.
-							Punkt-getrennte Einstellungen können hierarchisch verschachtelt sein
-							(welche in
-							<classname>Zend_Config</classname>
-							<acronym>INI</acronym>
-							Dateien auftreten können) über ein Array-von-Arrays, und wird
-							trotzdem
-							korrekt aufgelöst.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setAutoloaderNamespaces(array $namespaces)</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$namespaces</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Array von Strings die den Namespace repräsentieren der mit der
-									<classname>Zend_Loader_Autoloader</classname>
-									Instanz
-									registriert wird.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Registriert den Namespace mit der
-							<classname>Zend_Loader_Autoloader</classname>
-							Instanz.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setBootstrap($path, $class = null)</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$path</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Kann entweder eine Instanz von
-									<classname>Zend_Application_Bootstrap_Bootstrapper</classname>,
-									ein String Pfad zur Bootstrap Klasse, ein assoziatives Array
-									von
-									Klassenname =&gt; Dateiname, oder ein assoziatives Array mit den
-									Schlüsseln 'class' und 'path' sein.
-								</para>
-							</listitem>
-
-							<listitem>
-								<para>
-									<varname>$class</varname>
-									:
-									<emphasis>Optional</emphasis>
-									. Wenn
-									<varname>$path</varname>
-									ein String ist, kann
-									<varname>$class</varname>
-									spezifiziert werden, und sollte ein
-									String des Klassennamens der Klasse sein die in der Datei
-									enthalten ist die den Pfad repräsentiert.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getBootstrap()</methodname>
-					</entry>
-
-					<entry>
-						<constant>NULL</constant>
-						|
-						<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-					</entry>
-
-					<entry>N/A</entry>
-					<entry>
-						<para>Empfängt die registrierte Bootstrap Instanz.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>bootstrap()</methodname>
-					</entry>
-					<entry>
-						<type>Void</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Ruft die
-							<methodname>bootstrap()</methodname>
-							Methode des Bootstraps auf
-							um die Anwendung zu bootstrappen.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>run()</methodname>
-					</entry>
-					<entry>
-						<type>Void</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Ruft die
-							<methodname>run()</methodname>
-							Methode des Bootstraps auf um
-							die Anwendung auszuführen.
-						</para>
-					</entry>
-				</row>
-			</tbody>
-		</tgroup>
-	</table>
+                    </entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
 </sect2>

+ 42 - 64
documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Bootstrap_Bootstrap.xml

@@ -2,88 +2,66 @@
 <!-- EN-Revision: 19689 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.core-functionality.bootstrap-bootstrap">
-	<title>Zend_Application_Bootstrap_Bootstrap</title>
+    <title>Zend_Application_Bootstrap_Bootstrap</title>
 
-	<para>
-		<classname>Zend_Application_Bootstrap_Bootstrap</classname>
-		ist eine konkrete
-		Implementation von
-		<link
-			linkend="zend.application.core-functionality.bootstrap-bootstrapabstract">Zend_Application_Bootstrap_BootstrapAbstract</link>
-		.
-		Dessen primäre Features sind, das es die
-		<link linkend="zend.application.available-resources.frontcontroller">Front Controller
-			Ressource</link>
-		registriert und das die
-		<methodname>run()</methodname>
-		Methode zuerst
-		prüft ob ein Standardmodul definiert ist, und dann den Front Controller
-		ausführt.
-	</para>
+    <para>
+        <classname>Zend_Application_Bootstrap_Bootstrap</classname> ist eine konkrete
+        Implementation von <link
+            linkend="zend.application.core-functionality.bootstrap-bootstrapabstract">Zend_Application_Bootstrap_BootstrapAbstract</link>.
+        Dessen primäre Features sind, das es die <link
+            linkend="zend.application.available-resources.frontcontroller">Front Controller
+            Ressource</link> registriert und das die <methodname>run()</methodname> Methode zuerst
+        prüft ob ein Standardmodul definiert ist, und dann den Front Controller ausführt.
+    </para>
 
-	<para>
-		In den meisten Fällen wird man diese Klasst für die eigenen Bedürfnisse
-		des Bootstrappens
-		erweitern, oder einfach diese Klasse verwenden und eine Liste von Ressource
-		Plugins
-		angeben die zu verwenden sind.
+    <para>
+        In den meisten Fällen wird man diese Klasst für die eigenen Bedürfnisse des Bootstrappens
+        erweitern, oder einfach diese Klasse verwenden und eine Liste von Ressource Plugins
+        angeben die zu verwenden sind.
     </para>
 
-	<sect3
-		id="zend.application.core-functionality.bootstrap-bootstrap.autoloading">
-		<title>Aktivieren des AutoLoadings für die Anwendung</title>
+    <sect3 id="zend.application.core-functionality.bootstrap-bootstrap.autoloading">
+        <title>Aktivieren des AutoLoadings für die Anwendung</title>
 
-		<para>
-			Zusätzlich bietet diese Bootstrap Implementation die Möglichkeit des
-			"Namespace" oder
-			Klassenpräfix für Ressourcen zu spezifizieren der in seinem Baum ist, was wiederum
-			das
-			automatische Laden der verschiedenen Anwendungsressourcen ermöglicht; als
-			wichtigstes
-			instanziert es ein
-			<link linkend="zend.loader.autoloader-resource.module">Zend_Application_Module_Autoloader</link>
-			Objekt, welches den angefragten Namespace und das Verzeichnis des
-			Bootstraps als
-			Argument angibt. Man kann diese Funktionalität aktivieren indem ein Namespace
-			an die
-			Konfigurations Option "appnamespace" angegeben wird. Als
-			<acronym>INI</acronym>
-			Beispiel:
-		</para>
+        <para>
+            Zusätzlich bietet diese Bootstrap Implementation die Möglichkeit des "Namespace" oder
+            Klassenpräfix für Ressourcen zu spezifizieren der in seinem Baum ist, was wiederum das
+            automatische Laden der verschiedenen Anwendungsressourcen ermöglicht; als wichtigstes
+            instanziert es ein <link
+                linkend="zend.loader.autoloader-resource.module">Zend_Application_Module_Autoloader</link>
+            Objekt, welches den angefragten Namespace und das Verzeichnis des Bootstraps als
+            Argument angibt. Man kann diese Funktionalität aktivieren indem ein Namespace an die
+            Konfigurations Option "appnamespace" angegeben wird. Als <acronym>INI</acronym>
+            Beispiel:
+        </para>
 
-		<programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 appnamespace = "Application"
 ]]></programlisting>
 
-		<para>
-			Oder als
-			<acronym>XML</acronym>
-			:
-		</para>
+        <para>
+            Oder als <acronym>XML</acronym>:
+        </para>
 
-		<programlisting language="xml"><![CDATA[
+        <programlisting language="xml"><![CDATA[
 <appnamespace>Application</appnamespace>
 ]]></programlisting>
 
-		<para>
-			Standardmäßig aktiviert
-			<classname>Zend_Tool</classname>
-			diese Option mit dem Wert
-			"Application".
-		</para>
+        <para>
+            Standardmäßig aktiviert <classname>Zend_Tool</classname> diese Option mit dem Wert
+            "Application".
+        </para>
 
-		<para>
-			Alternativ kann einfach die Eigenschaft
-			<varname>$_appNamespace</varname>
-			der eigenen
-			Bootstrap Klasse mit dem korrekten Wert definiert werden:
-		</para>
+        <para>
+            Alternativ kann einfach die Eigenschaft <varname>$_appNamespace</varname> der eigenen
+            Bootstrap Klasse mit dem korrekten Wert definiert werden:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
     protected $_appNamespace = 'Application';
 }
 ]]></programlisting>
-	</sect3>
+    </sect3>
 </sect2>

+ 379 - 510
documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Bootstrap_BootstrapAbstract.xml

@@ -2,520 +2,389 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.core-functionality.bootstrap-bootstrapabstract">
-	<title>Zend_Application_Bootstrap_BootstrapAbstract</title>
-
-	<para>
-		<classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
-		ist eine abstrakte
-		Klasse welche die Basisfunktionalität des normalen Bootstrappings bietet.
-		Sie implementiert
-		sowohl
-		<link linkend="zend.application.core-functionality.bootstrap-bootstrapper">
-			<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-		</link>
-		als auch
-		<link
-			linkend="zend.application.core-functionality.bootstrap-resourcebootstrapper">
-			<classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>
-		</link>
-		.
-	</para>
-
-	<table
-		id="zend.application.core-functionality.bootstrap-bootstrapabstract.api.table">
-		<title>Zend_Application_Bootstrap_BootstrapAbstract Methoden</title>
-
-		<tgroup cols="4">
-			<thead>
-				<row>
-					<entry>Methode</entry>
-					<entry>Rückgabewert</entry>
-					<entry>Parameter</entry>
-					<entry>Beschreibung</entry>
-				</row>
-			</thead>
-
-			<tbody>
-				<row>
-					<entry>
-						<methodname>__construct($application)</methodname>
-					</entry>
-					<entry>
-						<type>Void</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$application</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Akzeptiert entweder ein
-									<classname>Zend_Application</classname>
-									oder ein
-									<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-									Objekt als sein einziges Argument.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Constructor. Akzeptiert ein einzelnes Argument, welches ein
-							<classname>Zend_Application</classname>
-							Objekt oder ein anderes
-							Bootstrap Objekt sein sollte.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setOptions(array $options)</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$options</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Array von Optionen die zu setzen sind.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Jede Option die einen passenden Setter hat wird diesen Setter
-							aufrufen;
-							andernfalls wird die Option einfach für ein späteres Empfangen
-							gespeichert. Wenn die eigene Klasse, als Beispiel, eine
-							<methodname>setFoo()</methodname>
-							Methode definiert, würde die Option
-							'foo' als Wert an diese Methode übergeben werden.
-						</para>
-
-						<para>
-							Zwei zusätzliche, spezielle Options Schnüssel können auch
-							verwendet
-							werden.
-							<property>pluginPaths</property>
-							kann verwendet werden um einen
-							Präfix Pfad zu Plugin Ressourcen zu spezifizieren; er solte ein Array
-							von Klassenpräfix zu Instanziierungs Options Paaren sein.
-							<property>resources</property>
-							kann verwendet werden um eine Plugin
-							Ressource zu spezifizieren die verwendet werden soll, und sollte aus
-							Paaren von Plugin Ressource zu Instanziierungs Optionen bestehen.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getOptions()</methodname>
-					</entry>
-					<entry>
-						<type>Array</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Gibt alle über
-							<methodname>setOptions()</methodname>
-							registrierten
-							Optionen zurück.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>hasOption($key)</methodname>
-					</entry>
-					<entry>
-						<type>Boolean</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$key</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Optionsschlüssel der getestet werden soll.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>Erkennt ob ein Optionsschlüssel vorhanden ist.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getOption($key)</methodname>
-					</entry>
-					<entry>
-						<type>Mixed</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$key</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Optionsschlüssel der empfangen werden soll.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Empfängt den Wert der mit dem Optionsschlüssel verknüpft ist;
-							gibt
-							<constant>NULL</constant>
-							zurück wenn keine Option mit diesem Schlüssel
-							registriert wurde.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setApplication(Zend_Application |
-							Zend_Application_Bootstrap_Bootstrapper $application)</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$application</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>Registriert das Eltern-Anwendungs oder Bootstrap Objekt.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getApplication()</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application</classname>
-						|
-						<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-					</entry>
-
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfängt das Anwendungs oder Bootstrap Objekt das über den Konstruktor
-							übergeben wurde.
+    <title>Zend_Application_Bootstrap_BootstrapAbstract</title>
+
+    <para>
+        <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname> ist eine abstrakte
+        Klasse welche die Basisfunktionalität des normalen Bootstrappings bietet. Sie implementiert
+        sowohl <link
+            linkend="zend.application.core-functionality.bootstrap-bootstrapper"><classname>Zend_Application_Bootstrap_Bootstrapper</classname></link>
+        als auch <link
+            linkend="zend.application.core-functionality.bootstrap-resourcebootstrapper"><classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname></link>.
+    </para>
+
+    <table id="zend.application.core-functionality.bootstrap-bootstrapabstract.api.table">
+        <title>Zend_Application_Bootstrap_BootstrapAbstract Methoden</title>
+
+        <tgroup cols="4">
+            <thead>
+                <row>
+                    <entry>Methode</entry>
+                    <entry>Rückgabewert</entry>
+                    <entry>Parameter</entry>
+                    <entry>Beschreibung</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry><methodname>__construct($application)</methodname></entry>
+                    <entry><type>Void</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$application</varname>: <emphasis>Benötigt</emphasis>.
+                                    Akzeptiert entweder ein <classname>Zend_Application</classname>
+                                    oder ein
+                                    <classname>Zend_Application_Bootstrap_Bootstrapper</classname>
+                                    Objekt als sein einziges Argument.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Constructor. Akzeptiert ein einzelnes Argument, welches ein
+                            <classname>Zend_Application</classname> Objekt oder ein anderes
+                            Bootstrap Objekt sein sollte.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getEnvironment()</methodname>
-					</entry>
-					<entry>
-						<type>String</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfängt den Umgebungs String der mit dem Eltern-Anwendungs oder
-							Bootstrap Objekt registriert wurde.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>setOptions(array $options)</methodname></entry>
+                    <entry><classname>Zend_Application_Bootstrap_Bootstrapper</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$options</varname>: <emphasis>Benötigt</emphasis>.
+                                    Array von Optionen die zu setzen sind.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Jede Option die einen passenden Setter hat wird diesen Setter aufrufen;
+                            andernfalls wird die Option einfach für ein späteres Empfangen
+                            gespeichert. Wenn die eigene Klasse, als Beispiel, eine
+                            <methodname>setFoo()</methodname> Methode definiert, würde die Option
+                            'foo' als Wert an diese Methode übergeben werden.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getClassResources()</methodname>
-					</entry>
-					<entry>
-						<type>Array</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfängt eine Liste von vorhandenen Ressourcen Initialisierungsnamen die
-							in der Klasse definiert sind. Das kann von der Implementierung
-							abhängig
-							sein.
+
+                        <para>
+                            Zwei zusätzliche, spezielle Options Schnüssel können auch verwendet
+                            werden. <property>pluginPaths</property> kann verwendet werden um einen
+                            Präfix Pfad zu Plugin Ressourcen zu spezifizieren; er solte ein Array
+                            von Klassenpräfix zu Instanziierungs Options Paaren sein.
+                            <property>resources</property> kann verwendet werden um eine Plugin
+                            Ressource zu spezifizieren die verwendet werden soll, und sollte aus
+                            Paaren von Plugin Ressource zu Instanziierungs Optionen bestehen.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getOptions()</methodname></entry>
+                    <entry><type>Array</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Gibt alle über <methodname>setOptions()</methodname> registrierten
+                            Optionen zurück.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>hasOption($key)</methodname></entry>
+                    <entry><type>Boolean</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$key</varname>: <emphasis>Benötigt</emphasis>.
+                                    Optionsschlüssel der getestet werden soll.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry><para>Erkennt ob ein Optionsschlüssel vorhanden ist.</para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getOption($key)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$key</varname>: <emphasis>Benötigt</emphasis>.
+                                    Optionsschlüssel der empfangen werden soll.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Empfängt den Wert der mit dem Optionsschlüssel verknüpft ist; gibt
+                            <constant>NULL</constant> zurück wenn keine Option mit diesem Schlüssel
+                            registriert wurde.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry>
+                        <methodname>setApplication(Zend_Application |
+                        Zend_Application_Bootstrap_Bootstrapper $application)</methodname>
+                    </entry>
+
+                    <entry>
+                        <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
+                    </entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$application</varname>: <emphasis>Benötigt</emphasis>.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>Registriert das Eltern-Anwendungs oder Bootstrap Objekt.</para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getApplication()</methodname></entry>
+
+                    <entry>
+                        <classname>Zend_Application</classname> |
+                        <classname>Zend_Application_Bootstrap_Bootstrapper</classname>
+                    </entry>
+
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfängt das Anwendungs oder Bootstrap Objekt das über den Konstruktor
+                            übergeben wurde.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getEnvironment()</methodname></entry>
+                    <entry><type>String</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfängt den Umgebungs String der mit dem Eltern-Anwendungs oder
+                            Bootstrap Objekt registriert wurde.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getClassResources()</methodname></entry>
+                    <entry><type>Array</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfängt eine Liste von vorhandenen Ressourcen Initialisierungsnamen die
+                            in der Klasse definiert sind. Das kann von der Implementierung abhängig
+                            sein.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getContainer()</methodname></entry>
+                    <entry><type>Object</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfängt den Container der die Ressourcen speichert. Wenn aktuell kein
+                            Container registriert ist, wird eine Instanz von <link
+                                linkend="zend.registry">Zend_Registry</link> registriert bevor diese
+                            retourniert wird.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getContainer()</methodname>
-					</entry>
-					<entry>
-						<type>Object</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfängt den Container der die Ressourcen speichert. Wenn aktuell
-							kein
-							Container registriert ist, wird eine Instanz von
-							<link linkend="zend.registry">Zend_Registry</link>
-							registriert bevor diese
-							retourniert wird.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setContainer($container)</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$container</varname>
-									,
-									<emphasis>Benötigt</emphasis>
-									.
-									Ein Objekt in dem Ressourcen gespeichert werden.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Bietet einen Container in dem Ressourcen gespeichert werden. Wenn eine
-							Ressourcen Methode oder ein Plugin einen Wert zurückgibt, wird
-							dieser
-							im Container gespeichert um später empfangen werden zu können.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>setContainer($container)</methodname></entry>
+
+                    <entry>
+                        <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
+                    </entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$container</varname>, <emphasis>Benötigt</emphasis>.
+                                    Ein Objekt in dem Ressourcen gespeichert werden.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Bietet einen Container in dem Ressourcen gespeichert werden. Wenn eine
+                            Ressourcen Methode oder ein Plugin einen Wert zurückgibt, wird dieser
+                            im Container gespeichert um später empfangen werden zu können.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>hasResource($name)</methodname>
-					</entry>
-					<entry>
-						<type>Boolean</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$name</varname>
-									,
-									<emphasis>Benötigt</emphasis>
-									. Name
-									der Ressource die zu prüfen ist.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Wenn eine Ressourcen-Methode oder ein Plugin einen Wert
-							zurückgibt, wird
-							dieser im Ressourcen Container gespeichert (siehe
-							<methodname>getContainer()</methodname>
-							und
-							<methodname>setContainer()</methodname>
-							). Diese Methode zeigt ob ein
-							Wert für dies Ressouce gesetzt wurde oder nicht.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getResource($name)</methodname>
-					</entry>
-					<entry>
-						<type>Mixed</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$name</varname>
-									,
-									<emphasis>Benötigt</emphasis>
-									.
-									Name der Ressource die geholt werden soll.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Wenn eine Ressourcen-Methode oder ein Plugin einen Wert
-							zurückgibt, wird
-							dieser im Ressourcen Container gespeichert (siehe
-							<methodname>getContainer()</methodname>
-							und
-							<methodname>setContainer()</methodname>
-							). Diese Methode gibt die
-							Ressource vom Container zurück.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>bootstrap($resource = null)</methodname>
-					</entry>
-					<entry>
-						<type>Mixed</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$resource</varname>
-									:
-									<emphasis>Optional</emphasis>
-									.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Wenn
-							<varname>$resource</varname>
-							leer ist, werden alle Bootstrap
-							Ressourcen ausgeführt. Wenn es ein String ist, wird diese einzelne
-							Ressource ausgeführt; wenn es ein Array ist, wird jede Ressource
-							in
-							diesem Array ausgeführt.
-						</para>
-
-						<para>
-							Diese Methode kann verwendet werden um individuelle Bootstraps
-							auszuführen die entweder in der Klasse selbst definiert sind,
-							oder über
-							eine Ressource Plugin Klasse. Eine Ressource die in der Klasse
-							definert
-							ist wird bevorzugt, vor einem Ressource Plugin, ausgeführt wenn ein
-							Namenskonflikt besteht.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>hasResource($name)</methodname></entry>
+                    <entry><type>Boolean</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$name</varname>, <emphasis>Benötigt</emphasis>. Name
+                                    der Ressource die zu prüfen ist.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Wenn eine Ressourcen-Methode oder ein Plugin einen Wert zurückgibt, wird
+                            dieser im Ressourcen Container gespeichert (siehe
+                            <methodname>getContainer()</methodname> und
+                            <methodname>setContainer()</methodname>). Diese Methode zeigt ob ein
+                            Wert für dies Ressouce gesetzt wurde oder nicht.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getResource($name)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$name</varname>, <emphasis>Benötigt</emphasis>.
+                                    Name der Ressource die geholt werden soll.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Wenn eine Ressourcen-Methode oder ein Plugin einen Wert zurückgibt, wird
+                            dieser im Ressourcen Container gespeichert (siehe
+                            <methodname>getContainer()</methodname> und
+                            <methodname>setContainer()</methodname>). Diese Methode gibt die
+                            Ressource vom Container zurück.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>bootstrap($resource = null)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$resource</varname>: <emphasis>Optional</emphasis>.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Wenn <varname>$resource</varname> leer ist, werden alle Bootstrap
+                            Ressourcen ausgeführt. Wenn es ein String ist, wird diese einzelne
+                            Ressource ausgeführt; wenn es ein Array ist, wird jede Ressource in
+                            diesem Array ausgeführt.
+                        </para>
+
+                        <para>
+                            Diese Methode kann verwendet werden um individuelle Bootstraps
+                            auszuführen die entweder in der Klasse selbst definiert sind, oder über
+                            eine Ressource Plugin Klasse. Eine Ressource die in der Klasse definert
+                            ist wird bevorzugt, vor einem Ressource Plugin, ausgeführt wenn ein
+                            Namenskonflikt besteht.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>run()</methodname></entry>
+                    <entry><type>Void</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Definiert welche Anwendungslogik nach dem Bootstrapping ausgeführt wird.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>run()</methodname>
-					</entry>
-					<entry>
-						<type>Void</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Definiert welche Anwendungslogik nach dem Bootstrapping ausgeführt wird.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>__call($method, $args)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$method</varname>: <emphasis>Benötigt</emphasis>.
+                                    Der Methodenname der ausgerufen werden soll.
+                                </para>
+                            </listitem>
+
+                            <listitem>
+                                <para>
+                                    <varname>$args</varname>: <emphasis>Benötigt</emphasis>.
+                                    Array von Argumenten die im Methodenausruf verwendet werden
+                                    sollen.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Bietet einen einfachen Weg um individuelle Ressourcen zu Bootstrappen
+                            indem es erlaubt 'bootstrap&lt;ResourceName&gt;()' aufzurufen, anstatt
+                            das die <methodname>bootstrap()</methodname> Methode verwendet wird.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>__call($method, $args)</methodname>
-					</entry>
-					<entry>
-						<type>Mixed</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$method</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Der Methodenname der ausgerufen werden soll.
-								</para>
-							</listitem>
-
-							<listitem>
-								<para>
-									<varname>$args</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Array von Argumenten die im Methodenausruf verwendet werden
-									sollen.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Bietet einen einfachen Weg um individuelle Ressourcen zu
-							Bootstrappen
-							indem es erlaubt 'bootstrap&lt;ResourceName&gt;()' aufzurufen, anstatt
-							das die
-							<methodname>bootstrap()</methodname>
-							Methode verwendet wird.
-						</para>
-					</entry>
-				</row>
-			</tbody>
-		</tgroup>
-	</table>
+                    </entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
 </sect2>

+ 153 - 200
documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Bootstrap_Bootstrapper.xml

@@ -2,211 +2,164 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.core-functionality.bootstrap-bootstrapper">
-	<title>Zend_Application_Bootstrap_Bootstrapper</title>
-
-	<para>
-		<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-		ist das Basisinterface das
-		alle Bootstrap Klassen implementieren müssen. Die Basisfunktionalität
-		zielt auf
-		Konfiguration, Identifikation von Ressourcen, Bootstrapping (entweder von
-		individuellen
-		Ressourcen oder der kompletten Anwendung), und dem Dispatchen der Anwendung ab.
-	</para>
-
-	<para>
-		Die folgenden Methoden sind zusammengenommen die Definition des
-		Interfaces.
+    <title>Zend_Application_Bootstrap_Bootstrapper</title>
+
+    <para>
+        <classname>Zend_Application_Bootstrap_Bootstrapper</classname> ist das Basisinterface das
+        alle Bootstrap Klassen implementieren müssen. Die Basisfunktionalität zielt auf
+        Konfiguration, Identifikation von Ressourcen, Bootstrapping (entweder von individuellen
+        Ressourcen oder der kompletten Anwendung), und dem Dispatchen der Anwendung ab.
+    </para>
+
+    <para>
+        Die folgenden Methoden sind zusammengenommen die Definition des Interfaces.
     </para>
 
-	<table
-		id="zend.application.core-functionality.bootstrap-bootstrapper.methods-table">
-		<title>Zend_Application_Bootstrap_Bootstrapper Interface</title>
-
-		<tgroup cols="4">
-			<thead>
-				<row>
-					<entry>Methode</entry>
-					<entry>Rückgabewert</entry>
-					<entry>Parameter</entry>
-					<entry>Beschreibung</entry>
-				</row>
-			</thead>
-
-			<tbody>
-				<row>
-					<entry>
-						<methodname>__construct($application)</methodname>
-					</entry>
-					<entry>
-						<type>Void</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$application</varname>
-									:
-									<emphasis>benötigt</emphasis>
-									.
-									Sollte ein
-									<classname>Zend_Application</classname>
-									oder
-									<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-									Objekt als einziges Argument akzeptieren.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Konstruktor. Akzeptiert ein einzelnes Argument, welche ein
-							<classname>Zend_Application</classname>
-							oder ein anderes Bootstrap
-							Objekt sein sollte.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setOptions(array $options)</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$options</varname>
-									:
-									<emphasis>benötigt</emphasis>
-									.
-									Array von Optionen die gesetzt werden.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Typischerweise wird jede Option die einen passenden Setter hat diesen
-							Setter aufrufen; andernfalls, wird die Option einfach für ein späteres
-							Empfangen gespeichert.
+    <table id="zend.application.core-functionality.bootstrap-bootstrapper.methods-table">
+        <title>Zend_Application_Bootstrap_Bootstrapper Interface</title>
+
+        <tgroup cols="4">
+            <thead>
+                <row>
+                    <entry>Methode</entry>
+                    <entry>Rückgabewert</entry>
+                    <entry>Parameter</entry>
+                    <entry>Beschreibung</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry><methodname>__construct($application)</methodname></entry>
+                    <entry><type>Void</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$application</varname>: <emphasis>benötigt</emphasis>.
+                                    Sollte ein <classname>Zend_Application</classname> oder
+                                    <classname>Zend_Application_Bootstrap_Bootstrapper</classname>
+                                    Objekt als einziges Argument akzeptieren.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Konstruktor. Akzeptiert ein einzelnes Argument, welche ein
+                            <classname>Zend_Application</classname> oder ein anderes Bootstrap
+                            Objekt sein sollte.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getApplication()</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application</classname>
-						|
-						<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-					</entry>
-
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfängt das Anwendungs oder Bootstrap Objekt das über den Konstruktor
-							übergeben wurde.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>setOptions(array $options)</methodname></entry>
+                    <entry><classname>Zend_Application_Bootstrap_Bootstrapper</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$options</varname>: <emphasis>benötigt</emphasis>.
+                                    Array von Optionen die gesetzt werden.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Typischerweise wird jede Option die einen passenden Setter hat diesen
+                            Setter aufrufen; andernfalls, wird die Option einfach für ein späteres
+                            Empfangen gespeichert.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getEnvironment()</methodname>
-					</entry>
-					<entry>
-						<type>String</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfängt den Environment String der mit dem Eltern-Anwendungs oder
-							Bootstrap Objekt registriert wurde.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getApplication()</methodname></entry>
+
+                    <entry>
+                        <classname>Zend_Application</classname> |
+                        <classname>Zend_Application_Bootstrap_Bootstrapper</classname>
+                    </entry>
+
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfängt das Anwendungs oder Bootstrap Objekt das über den Konstruktor
+                            übergeben wurde.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getEnvironment()</methodname></entry>
+                    <entry><type>String</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfängt den Environment String der mit dem Eltern-Anwendungs oder
+                            Bootstrap Objekt registriert wurde.
+                        </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getClassResources()</methodname></entry>
+                    <entry><type>Array</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Empfängt eine Liste von vorhandenen Ressource Initialisierungs-Namen
+                            die in der Klasse definiert sind. Das kann für jede Implementierung
+                            speziell sein.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getClassResources()</methodname>
-					</entry>
-					<entry>
-						<type>Array</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Empfängt eine Liste von vorhandenen Ressource Initialisierungs-Namen
-							die in der Klasse definiert sind. Das kann für jede Implementierung
-							speziell sein.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>bootstrap($resource = null)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$resource</varname>: <emphasis>Optional</emphasis>.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Wenn <varname>$resource</varname> leer ist werden alle Bootstrap
+                            Ressourcen ausgeführt. Wird ein String angegeben, wird diese einzelne
+                            Ressource ausgeführt; wird ein Array angegeben, wird jede Ressource in
+                            diesem Array ausgeführt.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>bootstrap($resource = null)</methodname>
-					</entry>
-					<entry>
-						<type>Mixed</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$resource</varname>
-									:
-									<emphasis>Optional</emphasis>
-									.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Wenn
-							<varname>$resource</varname>
-							leer ist werden alle Bootstrap
-							Ressourcen ausgeführt. Wird ein String angegeben, wird diese einzelne
-							Ressource ausgeführt; wird ein Array angegeben, wird jede
-							Ressource in
-							diesem Array ausgeführt.
-						</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>run()</methodname>
-					</entry>
-					<entry>
-						<type>Void</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Definiert welche Anwendungslogik nach dem Bootstrapping ausgeführt wird.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>run()</methodname></entry>
+                    <entry><type>Void</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Definiert welche Anwendungslogik nach dem Bootstrapping ausgeführt wird.
                         </para>
-					</entry>
-				</row>
-			</tbody>
-		</tgroup>
-	</table>
+                    </entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
 </sect2>

+ 179 - 229
documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Bootstrap_ResourceBootstrapper.xml

@@ -1,239 +1,189 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
-<sect2
-	id="zend.application.core-functionality.bootstrap-resourcebootstrapper">
-	<title>Zend_Application_Bootstrap_ResourceBootstrapper</title>
-
-	<para>
-		<classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>
-		ist ein Interface das
-		zu Verwenden ist wenn externe Ressourcen geladen werden -- z.B. wenn ein
-		oder mehrere
-		Ressourcen nicht direkt in der Klasse definiert werden, sonder über Plugins. Es
-		sollte
-		in Verbindung mit
-		<link linkend="zend.application.core-functionality.bootstrap-bootstrapper">Zend_Application_Bootstrap_Bootstrapper</link>
-		;
-		verwendet werden;
-		<link
-			linkend="zend.application.core-functionality.bootstrap-bootstrapabstract">Zend_Application_Bootstrap_BootstrapAbstract</link>
-		implementiert diese Funktionalität.
-	</para>
-
-	<para>
-		Die folgenden Methoden machen zusammen die Definition des Interfaces.
+<sect2 id="zend.application.core-functionality.bootstrap-resourcebootstrapper">
+    <title>Zend_Application_Bootstrap_ResourceBootstrapper</title>
+
+    <para>
+        <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname> ist ein Interface das
+        zu Verwenden ist wenn externe Ressourcen geladen werden -- z.B. wenn ein oder mehrere
+        Ressourcen nicht direkt in der Klasse definiert werden, sonder über Plugins. Es sollte
+        in Verbindung mit <link
+            linkend="zend.application.core-functionality.bootstrap-bootstrapper">Zend_Application_Bootstrap_Bootstrapper</link>;
+        verwendet werden; <link
+            linkend="zend.application.core-functionality.bootstrap-bootstrapabstract">Zend_Application_Bootstrap_BootstrapAbstract</link>
+        implementiert diese Funktionalität.
     </para>
 
-	<table
-		id="zend.application.core-functionality.bootstrap-resourcebootstrapper.methods-table">
-		<title>Zend_Application_Bootstrap_ResourceBootstrapper Interface</title>
-
-		<tgroup cols="4">
-			<thead>
-				<row>
-					<entry>Methode</entry>
-					<entry>Rückgabewert</entry>
-					<entry>Parameter</entry>
-					<entry>Beschreibung</entry>
-				</row>
-			</thead>
-
-			<tbody>
-				<row>
-					<entry>
-						<methodname>registerPluginResource($resource, $options = null)</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$resource</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Ein Ressourcen Name oder ein
-									<classname>Zend_Application_Resource_Resource</classname>
-									Objekt.
-								</para>
-							</listitem>
-
-							<listitem>
-								<para>
-									<varname>$options</varname>
-									:
-									<emphasis>Optional</emphasis>
-									. Ein
-									Array oder
-									<classname>Zend_Config</classname>
-									Objekt das an die
-									Ressource bei der Instanziierung zu übergeben ist.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Registriert eine Ressource mit der Klasse, und bietet die Übergaben
-							einer optionalen Konfiguration an diese Ressource an.
+    <para>
+        Die folgenden Methoden machen zusammen die Definition des Interfaces.
+    </para>
+
+    <table id="zend.application.core-functionality.bootstrap-resourcebootstrapper.methods-table">
+        <title>Zend_Application_Bootstrap_ResourceBootstrapper Interface</title>
+
+        <tgroup cols="4">
+            <thead>
+                <row>
+                    <entry>Methode</entry>
+                    <entry>Rückgabewert</entry>
+                    <entry>Parameter</entry>
+                    <entry>Beschreibung</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry>
+                        <methodname>registerPluginResource($resource, $options = null)</methodname>
+                    </entry>
+
+                    <entry>
+                        <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>
+                    </entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$resource</varname>: <emphasis>Benötigt</emphasis>.
+                                    Ein Ressourcen Name oder ein
+                                    <classname>Zend_Application_Resource_Resource</classname>
+                                    Objekt.
+                                </para>
+                            </listitem>
+
+                            <listitem>
+                                <para>
+                                    <varname>$options</varname>: <emphasis>Optional</emphasis>. Ein
+                                    Array oder <classname>Zend_Config</classname> Objekt das an die
+                                    Ressource bei der Instanziierung zu übergeben ist.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Registriert eine Ressource mit der Klasse, und bietet die Übergaben
+                            einer optionalen Konfiguration an diese Ressource an.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>unregisterPluginResource($resource)</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$resource</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Name der Ressource die von der Klasse de-registriert werden
-									soll.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>Entfernt eine Plugin Ressource von der Klasse.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>hasPluginResource($resource)</methodname>
-					</entry>
-					<entry>
-						<type>Boolean</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$resource</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Name der Ressource.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Erkennt ob eine spezifische Ressource in der Klasse registriert wurde.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>unregisterPluginResource($resource)</methodname></entry>
+
+                    <entry>
+                        <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>
+                    </entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$resource</varname>: <emphasis>Benötigt</emphasis>.
+                                    Name der Ressource die von der Klasse de-registriert werden
+                                    soll.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry><para>Entfernt eine Plugin Ressource von der Klasse.</para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>hasPluginResource($resource)</methodname></entry>
+                    <entry><type>Boolean</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$resource</varname>: <emphasis>Benötigt</emphasis>.
+                                    Name der Ressource.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Erkennt ob eine spezifische Ressource in der Klasse registriert wurde.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getPluginResource($resource)</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application_Resource_Resource</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$resource</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Name einer Ressource die empfangen werden soll (String).
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Empfängt die Instanz einer Plugin Ressource durch Ihren Namen.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getPluginResource($resource)</methodname></entry>
+                    <entry><classname>Zend_Application_Resource_Resource</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$resource</varname>: <emphasis>Benötigt</emphasis>.
+                                    Name einer Ressource die empfangen werden soll (String).
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Empfängt die Instanz einer Plugin Ressource durch Ihren Namen.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getPluginResourceNames()</methodname>
-					</entry>
-					<entry>
-						<type>Array</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>Empfängt eine Liste aller registrierten Plugin Ressource
-							Namen.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setPluginLoader(Zend_Loader_PluginLoader_Interface
-							$loader)</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$loader</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Instanz des Plugin Loaders der verwendet werden soll wenn Plugin
-									Namen auf Klassen umgewandelt werden.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Registriert eine Instanz eines Plugin Loaders die zu verwenden ist wenn
-							die Klassennamen eines Plugins aufgelöst werden sollen.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getPluginResourceNames()</methodname></entry>
+                    <entry><type>Array</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>Empfängt eine Liste aller registrierten Plugin Ressource Namen.</para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry>
+                        <methodname>setPluginLoader(Zend_Loader_PluginLoader_Interface
+                            $loader)</methodname>
+                    </entry>
+
+                    <entry>
+                        <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>
+                    </entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$loader</varname>: <emphasis>Benötigt</emphasis>.
+                                    Instanz des Plugin Loaders der verwendet werden soll wenn Plugin
+                                    Namen auf Klassen umgewandelt werden.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Registriert eine Instanz eines Plugin Loaders die zu verwenden ist wenn
+                            die Klassennamen eines Plugins aufgelöst werden sollen.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getPluginLoader()</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Loader_PluginLoader_Interface</classname>
-					</entry>
-					<entry>N/A</entry>
-					<entry>
-						<para>Empfängt den registrierten Plugin Loader.</para>
-					</entry>
-				</row>
-			</tbody>
-		</tgroup>
-	</table>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getPluginLoader()</methodname></entry>
+                    <entry><classname>Zend_Loader_PluginLoader_Interface</classname></entry>
+                    <entry>N/A</entry>
+                    <entry><para>Empfängt den registrierten Plugin Loader.</para></entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
 </sect2>

+ 117 - 158
documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Resource_Resource.xml

@@ -2,164 +2,123 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.core-functionality.resource-resource">
-	<title>Zend_Application_Resource_Resource</title>
-
-	<para>
-		<classname>Zend_Application_Resource_Resource</classname>
-		ist ein Interface für Plugin
-		Ressourcen die mit Bootstrap Klassen verwendet werden welche
-		<classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>
-		implementieren. Von
-		Ressourcen Plugins wird erwartet das Sie Konfiguration erlauben, das Sie
-		Bootstrapping
-		erlauben, und ein Strategy Pattern für die Initialisierung der Ressource
-		implementieren.
-	</para>
-
-	<table id="zend.application.core-functionality.resource-resource.api">
-		<title>Zend_Application_Resource_Resource Interface</title>
-
-		<tgroup cols="4">
-			<thead>
-				<row>
-					<entry>Methode</entry>
-					<entry>Rückgabewert</entry>
-					<entry>Parameter</entry>
-					<entry>Beschreibung</entry>
-				</row>
-			</thead>
-
-			<tbody>
-				<row>
-					<entry>
-						<methodname>__construct($options = null)</methodname>
-					</entry>
-					<entry>
-						<type>Void</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$options</varname>
-									:
-									<emphasis>Optional</emphasis>
-									.
-									Optionen mit denen der Status der Ressource gesetzt wird.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Der Konstruktor sollte die Übergabe von Optionen erlauben mit denen
-							der
-							Status initialisiert wird.
+    <title>Zend_Application_Resource_Resource</title>
+
+    <para>
+        <classname>Zend_Application_Resource_Resource</classname> ist ein Interface für Plugin
+        Ressourcen die mit Bootstrap Klassen verwendet werden welche
+        <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname> implementieren. Von
+        Ressourcen Plugins wird erwartet das Sie Konfiguration erlauben, das Sie Bootstrapping
+        erlauben, und ein Strategy Pattern für die Initialisierung der Ressource implementieren.
+    </para>
+
+    <table id="zend.application.core-functionality.resource-resource.api">
+        <title>Zend_Application_Resource_Resource Interface</title>
+
+        <tgroup cols="4">
+            <thead>
+                <row>
+                    <entry>Methode</entry>
+                    <entry>Rückgabewert</entry>
+                    <entry>Parameter</entry>
+                    <entry>Beschreibung</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry><methodname>__construct($options = null)</methodname></entry>
+                    <entry><type>Void</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$options</varname>: <emphasis>Optional</emphasis>.
+                                    Optionen mit denen der Status der Ressource gesetzt wird.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Der Konstruktor sollte die Übergabe von Optionen erlauben mit denen der
+                            Status initialisiert wird.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setBootstrap(Zend_Application_Bootstrap_Bootstrapper
-							$bootstrap)</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application_Resource_Resource</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$bootstrap</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Eltern-Bootstrap das diese Ressource initialisiert.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>Sollte es erlauben ein Eltern Bootstrap Objekt zu
-							registrieren.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getBootstrap()</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-					</entry>
-					<entry>N/A</entry>
-					<entry>
-						<para>Empfängt die registrierte Bootstrap Instanz.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setOptions(array $options)</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application_Resource_Resource</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$options</varname>
-									:
-									<emphasis>Benötigt</emphasis>
-									.
-									Optionen mit denen der Status gesetzt wird.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>Setzt den Ressource Status.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getOptions()</methodname>
-					</entry>
-					<entry>
-						<type>Array</type>
-					</entry>
-					<entry>N/A</entry>
-					<entry>
-						<para>Empfängt registrierte Optionen.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>init()</methodname>
-					</entry>
-					<entry>
-						<type>Mixed</type>
-					</entry>
-					<entry>N/A</entry>
-
-					<entry>
-						<para>
-							Strategy Pattern: Führt die Initialisierung an der Ressource durch.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry>
+                        <methodname>setBootstrap(Zend_Application_Bootstrap_Bootstrapper
+                            $bootstrap)</methodname>
+                    </entry>
+
+                    <entry>
+                        <classname>Zend_Application_Resource_Resource</classname>
+                    </entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$bootstrap</varname>: <emphasis>Benötigt</emphasis>.
+                                    Eltern-Bootstrap das diese Ressource initialisiert.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>Sollte es erlauben ein Eltern Bootstrap Objekt zu registrieren.</para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getBootstrap()</methodname></entry>
+                    <entry><classname>Zend_Application_Bootstrap_Bootstrapper</classname></entry>
+                    <entry>N/A</entry>
+                    <entry><para>Empfängt die registrierte Bootstrap Instanz.</para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>setOptions(array $options)</methodname></entry>
+                    <entry><classname>Zend_Application_Resource_Resource</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$options</varname>: <emphasis>Benötigt</emphasis>.
+                                    Optionen mit denen der Status gesetzt wird.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry><para>Setzt den Ressource Status.</para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getOptions()</methodname></entry>
+                    <entry><type>Array</type></entry>
+                    <entry>N/A</entry>
+                    <entry><para>Empfängt registrierte Optionen.</para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>init()</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+                    <entry>N/A</entry>
+
+                    <entry>
+                        <para>
+                            Strategy Pattern: Führt die Initialisierung an der Ressource durch.
                         </para>
-					</entry>
-				</row>
-			</tbody>
-		</tgroup>
-	</table>
+                    </entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
 </sect2>

+ 160 - 222
documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Resource_ResourceAbstract.xml

@@ -2,188 +2,137 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.core-functionality.resource-resourceabstract">
-	<title>Zend_Application_Resource_ResourceAbstract</title>
-
-	<para>
-		<classname>Zend_Application_Resource_ResourceAbstract</classname>
-		ist eine abstrakte Klasse
-		die
-		<link linkend="zend.application.core-functionality.resource-resource">Zend_Application_Resource_Resource</link>
-		implementiert, und ist ein guter Startpunkt für die Erstellung eigener
-		Plugin Ressourcen.
-	</para>
-
-	<para>
-		Beachte: Diese abstrakte Klasse implementiert die
-		<methodname>init()</methodname>
-		Methode
-		nicht; das wird der Definition in einer konkreten Erweiterung dieser Klasse
-		vorbehalten.
-	</para>
-
-	<table
-		id="zend.application.core-functionality.resource-resourceabstract.api">
-		<title>Zend_Application_Resource_ResourceAbstract Methods</title>
-
-		<tgroup cols="4">
-			<thead>
-				<row>
-					<entry>Methode</entry>
-					<entry>Rückgabewert</entry>
-					<entry>Parameter</entry>
-					<entry>Beschreibung</entry>
-				</row>
-			</thead>
-
-			<tbody>
-				<row>
-					<entry>
-						<methodname>__construct($options = null)</methodname>
-					</entry>
-					<entry>
-						<type>Void</type>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$options</varname>
-									:
-									<emphasis>optional</emphasis>
-									.
-									Optionen mit denen der Ressource Status gesetzt wird.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>
-							Der Konstruktor sollte die Übergabe von Optionen erlauben mit denen
-							der
-							Status initialisiert wird.
+    <title>Zend_Application_Resource_ResourceAbstract</title>
+
+    <para>
+        <classname>Zend_Application_Resource_ResourceAbstract</classname> ist eine abstrakte Klasse
+        die <link
+            linkend="zend.application.core-functionality.resource-resource">Zend_Application_Resource_Resource</link>
+        implementiert, und ist ein guter Startpunkt für die Erstellung eigener Plugin Ressourcen.
+    </para>
+
+    <para>
+        Beachte: Diese abstrakte Klasse implementiert die <methodname>init()</methodname> Methode
+        nicht; das wird der Definition in einer konkreten Erweiterung dieser Klasse vorbehalten.
+    </para>
+
+    <table id="zend.application.core-functionality.resource-resourceabstract.api">
+        <title>Zend_Application_Resource_ResourceAbstract Methods</title>
+
+        <tgroup cols="4">
+            <thead>
+                <row>
+                    <entry>Methode</entry>
+                    <entry>Rückgabewert</entry>
+                    <entry>Parameter</entry>
+                    <entry>Beschreibung</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry><methodname>__construct($options = null)</methodname></entry>
+                    <entry><type>Void</type></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$options</varname>: <emphasis>optional</emphasis>.
+                                    Optionen mit denen der Ressource Status gesetzt wird.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>
+                            Der Konstruktor sollte die Übergabe von Optionen erlauben mit denen der
+                            Status initialisiert wird.
                         </para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setBootstrap(Zend_Application_Bootstrap_Bootstrapper
-							$bootstrap)</methodname>
-					</entry>
-
-					<entry>
-						<classname>Zend_Application_Resource_Resource</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$bootstrap</varname>
-									:
-									<emphasis>required</emphasis>
-									.
-									Parent Bootstrap der diese Ressource initialisiert.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>Sollte es erlauben das Parent Bootstrap Objekt zu
-							registrieren.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getBootstrap()</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application_Bootstrap_Bootstrapper</classname>
-					</entry>
-					<entry>N/A</entry>
-					<entry>
-						<para>Empfange die registrierte Bootstrap Instanz.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>setOptions(array $options)</methodname>
-					</entry>
-					<entry>
-						<classname>Zend_Application_Resource_Resource</classname>
-					</entry>
-
-					<entry>
-						<itemizedlist>
-							<listitem>
-								<para>
-									<varname>$options</varname>
-									:
-									<emphasis>required</emphasis>
-									.
-									Optionen mit denen der Status gesetzt werden soll.
-								</para>
-							</listitem>
-						</itemizedlist>
-					</entry>
-
-					<entry>
-						<para>Set resource state.</para>
-					</entry>
-				</row>
-
-				<row>
-					<entry>
-						<methodname>getOptions()</methodname>
-					</entry>
-					<entry>
-						<type>Array</type>
-					</entry>
-					<entry>N/A</entry>
-					<entry>
-						<para>Empfangen der registrierten Optionen.</para>
-					</entry>
-				</row>
-			</tbody>
-		</tgroup>
-	</table>
-
-	<sect3
-		id="zend.application.core-functionality.resource-resourceabstract.names">
-		<title>Ressourcen Namen</title>
-
-		<para>
-			Wenn man Ressourcen Plugins registriert, besteht ein Problem das
-			hierdurch entsteht
-			darin, wie man von der Eltern-Bootstrap Klasse auf diese verweist. Es gibt
-			drei
-			verschiedene Mechanismen die verwendet werden können, abhängig davon wie die
-			Bootstrap und deren Plugin Ressourcen konfiguriert wurden.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry>
+                        <methodname>setBootstrap(Zend_Application_Bootstrap_Bootstrapper
+                            $bootstrap)</methodname>
+                    </entry>
+
+                    <entry><classname>Zend_Application_Resource_Resource</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$bootstrap</varname>: <emphasis>required</emphasis>.
+                                    Parent Bootstrap der diese Ressource initialisiert.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry>
+                        <para>Sollte es erlauben das Parent Bootstrap Objekt zu registrieren.</para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getBootstrap()</methodname></entry>
+                    <entry><classname>Zend_Application_Bootstrap_Bootstrapper</classname></entry>
+                    <entry>N/A</entry>
+                    <entry><para>Empfange die registrierte Bootstrap Instanz.</para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>setOptions(array $options)</methodname></entry>
+                    <entry><classname>Zend_Application_Resource_Resource</classname></entry>
+
+                    <entry>
+                        <itemizedlist>
+                            <listitem>
+                                <para>
+                                    <varname>$options</varname>: <emphasis>required</emphasis>.
+                                    Optionen mit denen der Status gesetzt werden soll.
+                                </para>
+                            </listitem>
+                        </itemizedlist>
+                    </entry>
+
+                    <entry><para>Set resource state.</para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getOptions()</methodname></entry>
+                    <entry><type>Array</type></entry>
+                    <entry>N/A</entry>
+                    <entry><para>Empfangen der registrierten Optionen.</para></entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
+
+    <sect3 id="zend.application.core-functionality.resource-resourceabstract.names">
+        <title>Ressourcen Namen</title>
+
+        <para>
+            Wenn man Ressourcen Plugins registriert, besteht ein Problem das hierdurch entsteht
+            darin, wie man von der Eltern-Bootstrap Klasse auf diese verweist. Es gibt drei
+            verschiedene Mechanismen die verwendet werden können, abhängig davon wie die
+            Bootstrap und deren Plugin Ressourcen konfiguriert wurden.
         </para>
 
-		<para>
-			Erstens kann man, wenn die Plugins mit einem definierten Präfix Pfad
-			definiert wurden,
-			einfach mit Ihrem "Kurz-Namen" auf die verweisen -- z.B. der Teil des
-			Klassennamens
-			der dem Klassen Präfix folgt. Als Beispiel kann auf die Klasse
-			"
-			<classname>Zend_Application_Resource_View</classname>
-			" einfach mit "View" verweist
-			werden, da der Präfix Pfad "
-			<classname>Zend_Application_Resource</classname>
-			" bereits
-			registriert ist. Man kann Sie registrieren, indem der komplette Klassenname oder
-			der
-			Kurzname verwendet wird:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Erstens kann man, wenn die Plugins mit einem definierten Präfix Pfad definiert wurden,
+            einfach mit Ihrem "Kurz-Namen" auf die verweisen -- z.B. der Teil des Klassennamens
+            der dem Klassen Präfix folgt. Als Beispiel kann auf die Klasse
+            "<classname>Zend_Application_Resource_View</classname>" einfach mit "View" verweist
+            werden, da der Präfix Pfad "<classname>Zend_Application_Resource</classname>" bereits
+            registriert ist. Man kann Sie registrieren, indem der komplette Klassenname oder der
+            Kurzname verwendet wird:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $app = new Zend_Application(APPLICATION_ENV, array(
     'pluginPaths' => array(
         'My_Resource' => 'My/Resource/',
@@ -198,27 +147,23 @@ $app = new Zend_Application(APPLICATION_ENV, array(
 ));
 ]]></programlisting>
 
-		<para>
-			In jedem Fall kann man die Ressource bootstrappen und Sie später
-			erhalten indem der
-			Kurzname verwendet wird:
+        <para>
+            In jedem Fall kann man die Ressource bootstrappen und Sie später erhalten indem der
+            Kurzname verwendet wird:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $bootstrap->bootstrap('view');
 $view = $bootstrap->getResource('view');
 ]]></programlisting>
 
-		<para>
-			Zweitens kann man, wenn kein passender Plugin Pfad definiert ist, trotzdem
-			eine
-			Ressource durch den kompletten Klassennamen übergeben. In diesem Fall kann man
-			auf
-			Sie verweisen indem der komplette Klassenname der Ressource verwendet
-			wird:
+        <para>
+            Zweitens kann man, wenn kein passender Plugin Pfad definiert ist, trotzdem eine
+            Ressource durch den kompletten Klassennamen übergeben. In diesem Fall kann man auf
+            Sie verweisen indem der komplette Klassenname der Ressource verwendet wird:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $app = new Zend_Application(APPLICATION_ENV, array(
     'resources' => array(
         // Das lädt die standardmäßige 'View' Ressource:
@@ -230,29 +175,25 @@ $app = new Zend_Application(APPLICATION_ENV, array(
 ));
 ]]></programlisting>
 
-		<para>
-			Offensichtlich mach das eine Referenz auf die Ressource viel einfacher:
+        <para>
+            Offensichtlich mach das eine Referenz auf die Ressource viel einfacher:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $bootstrap->bootstrap('My_Resource_View');
 $view = $bootstrap->getResource('My_Resource_View');
 ]]></programlisting>
 
-		<para>
-			Das bringt uns zur dritten Option. Man kann einen expliziten Namen
-			spezifizieren, zu
-			dem eine Ressourceklasse sich registriert. Das kann durch das Hinzufügen
-			einer public
-			<varname>$_explicitType</varname>
-			Eigenschaft, mit einem Stringwert, in der Plugin
-			Ressourceklasse durchgeführt werden; dieser Wert wird dann immer verwendet wenn man
-			zur Plugin Ressource über die Bootstrap verweisen will. Als Beispiel,
-			definieren wir
-			unsere eigene View Klasse:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Das bringt uns zur dritten Option. Man kann einen expliziten Namen spezifizieren, zu
+            dem eine Ressourceklasse sich registriert. Das kann durch das Hinzufügen einer public
+            <varname>$_explicitType</varname> Eigenschaft, mit einem Stringwert, in der Plugin
+            Ressourceklasse durchgeführt werden; dieser Wert wird dann immer verwendet wenn man
+            zur Plugin Ressource über die Bootstrap verweisen will. Als Beispiel, definieren wir
+            unsere eigene View Klasse:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 class My_Resource_View extends Zend_Application_Resource_ResourceAbstract
 {
     public $_explicitType = 'My_View';
@@ -264,23 +205,20 @@ class My_Resource_View extends Zend_Application_Resource_ResourceAbstract
 }
 ]]></programlisting>
 
-		<para>
-			Wir können dann die Ressource bootstrappen, oder Sie durch den Namen
-			"
-			<classname>My_View</classname>
-			" erhalten:
-		</para>
+        <para>
+            Wir können dann die Ressource bootstrappen, oder Sie durch den Namen
+            "<classname>My_View</classname>" erhalten:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $bootstrap->bootstrap('My_View');
 $view = $bootstrap->getResource('My_View');
 ]]></programlisting>
 
-		<para>
-			Durch Verwendung der verschiedenen Wege der Benennung kann man bestehende
-			Ressourcen
-			überschreiben, eigene hinzufügen, verschiedene Ressourcen mischen um komplexe
-			Initialisierungen durchzuführen, und mehr.
+        <para>
+            Durch Verwendung der verschiedenen Wege der Benennung kann man bestehende Ressourcen
+            überschreiben, eigene hinzufügen, verschiedene Ressourcen mischen um komplexe
+            Initialisierungen durchzuführen, und mehr.
         </para>
-	</sect3>
+    </sect3>
 </sect2>

+ 12 - 20
documentation/manual/de/module_specs/Zend_Application-CoreFunctionality.xml

@@ -2,26 +2,18 @@
 <!-- EN-Revision: 15814 -->
 <!-- Reviewed: 15814 -->
 <sect1 id="zend.application.core-functionality" xmlns:xi="http://www.w3.org/2001/XInclude">
-	<title>Kernfunktionalität</title>
+    <title>Kernfunktionalität</title>
 
-	<para>
-		Hier findet man
-		<acronym>API</acronym>
-		-artige Dokumentation über alle Kernkomponenten von
-		<classname>Zend_Application</classname>
-		.
-	</para>
+    <para>
+        Hier findet man <acronym>API</acronym>-artige Dokumentation über alle Kernkomponenten von
+        <classname>Zend_Application</classname>.
+    </para>
 
-	<xi:include href="Zend_Application-CoreFunctionality-Application.xml" />
-	<xi:include
-		href="Zend_Application-CoreFunctionality-Bootstrap_Bootstrapper.xml" />
-	<xi:include
-		href="Zend_Application-CoreFunctionality-Bootstrap_ResourceBootstrapper.xml" />
-	<xi:include
-		href="Zend_Application-CoreFunctionality-Bootstrap_BootstrapAbstract.xml" />
-	<xi:include
-		href="Zend_Application-CoreFunctionality-Bootstrap_Bootstrap.xml" />
-	<xi:include href="Zend_Application-CoreFunctionality-Resource_Resource.xml" />
-	<xi:include
-		href="Zend_Application-CoreFunctionality-Resource_ResourceAbstract.xml" />
+    <xi:include href="Zend_Application-CoreFunctionality-Application.xml" />
+    <xi:include href="Zend_Application-CoreFunctionality-Bootstrap_Bootstrapper.xml" />
+    <xi:include href="Zend_Application-CoreFunctionality-Bootstrap_ResourceBootstrapper.xml" />
+    <xi:include href="Zend_Application-CoreFunctionality-Bootstrap_BootstrapAbstract.xml" />
+    <xi:include href="Zend_Application-CoreFunctionality-Bootstrap_Bootstrap.xml" />
+    <xi:include href="Zend_Application-CoreFunctionality-Resource_Resource.xml" />
+    <xi:include href="Zend_Application-CoreFunctionality-Resource_ResourceAbstract.xml" />
 </sect1>

+ 109 - 149
documentation/manual/de/module_specs/Zend_Application-Examples.xml

@@ -2,25 +2,24 @@
 <!-- EN-Revision: 22741 -->
 <!-- Reviewed: 22741 -->
 <sect1 id="zend.application.examples">
-	<title>Beispiele</title>
+    <title>Beispiele</title>
 
-	<para>
-		Die Klasse Bootstrap selbst wird typischerweise sehr minimal sein; oft
-		wird sie einfach
-		nur ein leerer Stub sein, der die Basis Bootstrapping-Klasse erweitert:
+    <para>
+        Die Klasse Bootstrap selbst wird typischerweise sehr minimal sein; oft wird sie einfach
+        nur ein leerer Stub sein, der die Basis Bootstrapping-Klasse erweitert:
     </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
 }
 ]]></programlisting>
 
-	<para>
-		Mit einer entsprechenden Konfigurationsdatei:
+    <para>
+        Mit einer entsprechenden Konfigurationsdatei:
     </para>
 
-	<programlisting language="ini"><![CDATA[
+    <programlisting language="ini"><![CDATA[
 ; APPLICATION_PATH/configs/application.ini
 [production]
 autoloaderNamespaces[] = "My_"
@@ -33,72 +32,51 @@ resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
 [development : production]
 ]]></programlisting>
 
-	<note>
-		<title>Namespaces für Autoloader</title>
-
-		<para>
-			Weil diese Beispiele eigenen Code verwenden, müssen wir die Präfixe
-			der Namespaces
-			für diesen Code in unserer Konfiguration registrieren; dies wird mit dem
-			Konfigurationsschlüssel
-			<property>autoloaderNamespaces</property>
-			getan, welcher ein
-			Array ist.
-		</para>
-
-		<para>
-			Um zusätzlich sicherzustellen, dass eigene Plugin-Ressourcen erkannt
-			werden, müssen wir
-			einen Plugin-Präfixpfad in der Bootstrap registrieren. Das wird mit dem
-			Konfigurationsschlüssel
-			<property>pluginpaths</property>
-			getan, welcher ein assoziatives
-			Array ist, mit Schlüsseln, die das zu verwendenden Präfix kennzeichnen,
-			und Werten,
-			welche den Pfad enthalten, der diesem Präfix entspricht.
-		</para>
-	</note>
-
-	<para>
-		Sollten trotzdem eigene Initialisierungen notwendig sein, hat man zwei
-		Möglichkeiten.
-		Erstens kann man Methoden schreiben, die mit
-		<emphasis>_init</emphasis>
-		anfangen, um eigenen
-		Code zu spezifizieren, der für das Bootstrapping verwendet werden soll.
-		Diese Methoden
-		werden durch
-		<methodname>bootstrap()</methodname>
-		aufgerufen, und können genauso aufgerufen
-		werden, wie wenn sie öffentliche Methoden wären:
-		<emphasis>bootstrap&lt;resource&gt;()</emphasis>
-		. Sie sollten ein optionales Array an
-		Optionen akzeptieren.
-	</para>
-
-	<para>
-		Wenn die eigene Ressource-Methode einen Wert zurückgibt, wird diese in
-		einem Container
-		im Bootstrap gespeichert. Das kann nützlich sein, wenn verschiedene
-		Ressourcen interagieren
-		müssen (wie wenn eine Ressource sich selbst in eine andere iniziiert). Die
-		Methode
-		<methodname>getResource()</methodname>
-		kann dann verwendet werden, um diese Werte zu
-		erhalten.
-	</para>
-
-	<para>
-		Das Beispiel unten zeigt eine Ressource-Methode für die Initialisierung
-		des Anfrage-Objekts.
-		Es verwendet die Erkennung der Abhängigkeit (diese hängt von der
-		Ressource FrontController
-		ab), holt eine Ressource vom Bootstrap, und gibt einen Wert zurück, um ihn
-		im
-		Bootstrap zu speichern.
+    <note>
+        <title>Namespaces für Autoloader</title>
+
+        <para>
+            Weil diese Beispiele eigenen Code verwenden, müssen wir die Präfixe der Namespaces
+            für diesen Code in unserer Konfiguration registrieren; dies wird mit dem
+            Konfigurationsschlüssel <property>autoloaderNamespaces</property> getan, welcher ein
+            Array ist.
+        </para>
+
+        <para>
+            Um zusätzlich sicherzustellen, dass eigene Plugin-Ressourcen erkannt werden, müssen wir
+            einen Plugin-Präfixpfad in der Bootstrap registrieren. Das wird mit dem
+            Konfigurationsschlüssel <property>pluginpaths</property> getan, welcher ein assoziatives
+            Array ist, mit Schlüsseln, die das zu verwendenden Präfix kennzeichnen, und Werten,
+            welche den Pfad enthalten, der diesem Präfix entspricht.
+        </para>
+    </note>
+
+    <para>
+        Sollten trotzdem eigene Initialisierungen notwendig sein, hat man zwei Möglichkeiten.
+        Erstens kann man Methoden schreiben, die mit <emphasis>_init</emphasis> anfangen, um eigenen
+        Code zu spezifizieren, der für das Bootstrapping verwendet werden soll. Diese Methoden
+        werden durch <methodname>bootstrap()</methodname> aufgerufen, und können genauso aufgerufen
+        werden, wie wenn sie öffentliche Methoden wären:
+        <emphasis>bootstrap&lt;resource&gt;()</emphasis>. Sie sollten ein optionales Array an
+        Optionen akzeptieren.
     </para>
 
-	<programlisting language="php"><![CDATA[
+    <para>
+        Wenn die eigene Ressource-Methode einen Wert zurückgibt, wird diese in einem Container
+        im Bootstrap gespeichert. Das kann nützlich sein, wenn verschiedene Ressourcen interagieren
+        müssen (wie wenn eine Ressource sich selbst in eine andere iniziiert). Die Methode
+        <methodname>getResource()</methodname> kann dann verwendet werden, um diese Werte zu
+        erhalten.
+    </para>
+
+    <para>
+        Das Beispiel unten zeigt eine Ressource-Methode für die Initialisierung des Anfrage-Objekts.
+        Es verwendet die Erkennung der Abhängigkeit (diese hängt von der Ressource FrontController
+        ab), holt eine Ressource vom Bootstrap, und gibt einen Wert zurück, um ihn im
+        Bootstrap zu speichern.
+    </para>
+
+    <programlisting language="php"><![CDATA[
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
     protected function _initRequest()
@@ -122,59 +100,48 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 }
 ]]></programlisting>
 
-	<para>
-		Man beachte in diesem Beispiel den Aufruf von
-		<methodname>bootstrap()</methodname>
-		; dieser
-		stellt sicher, dass der FrontController initialisiert wurde, bevor die
-		Methode aufgerufen
-		wird. Dieser Aufruf kann entweder eine Ressource oder eine andere Methode
-		in der Klasse
-		auslösen.
-	</para>
-
-	<para>
-		Die andere Option ist, die Verwendung eines Ressource-Plugins.
-		Ressource-Plugins sind
-		Objekte, die spezielle Initialisierungen ausführen, und die wie folgt
-		spezifiziert werden
-		können:
+    <para>
+        Man beachte in diesem Beispiel den Aufruf von <methodname>bootstrap()</methodname>; dieser
+        stellt sicher, dass der FrontController initialisiert wurde, bevor die Methode aufgerufen
+        wird. Dieser Aufruf kann entweder eine Ressource oder eine andere Methode in der Klasse
+        auslösen.
+    </para>
+
+    <para>
+        Die andere Option ist, die Verwendung eines Ressource-Plugins. Ressource-Plugins sind
+        Objekte, die spezielle Initialisierungen ausführen, und die wie folgt spezifiziert werden
+        können:
     </para>
 
-	<itemizedlist>
-		<listitem>
-			<para>
-				Während der Instanzierung des Objekts
-				<classname>Zend_Application</classname>
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				Während der Initialisierung des Objekts Bootstrap
+    <itemizedlist>
+        <listitem>
+            <para>
+                Während der Instanzierung des Objekts <classname>Zend_Application</classname>
             </para>
-		</listitem>
+        </listitem>
 
-		<listitem>
-			<para>
-				Durch explizites Einschalten über Methodenaufrufe auf dem Objekt
-				Bootstrap
+        <listitem>
+            <para>
+                Während der Initialisierung des Objekts Bootstrap
             </para>
-		</listitem>
-	</itemizedlist>
-
-	<para>
-		Ressource-Plugins implementieren
-		<classname>Zend_Application_Resource_ResourceAbstract</classname>
-		, welche einfach
-		definieren, dass sie Injektion des Aufrufers und von Optionen erlauben, und die
-		eine
-		<methodname>init()</methodname>
-		Methode haben. Als Beispiel, könnte eine eigene
-		"View"-Bootstrap-Ressource wie folgt aussehen:
-	</para>
-
-	<programlisting language="php"><![CDATA[
+        </listitem>
+
+        <listitem>
+            <para>
+                Durch explizites Einschalten über Methodenaufrufe auf dem Objekt Bootstrap
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        Ressource-Plugins implementieren
+        <classname>Zend_Application_Resource_ResourceAbstract</classname>, welche einfach
+        definieren, dass sie Injektion des Aufrufers und von Optionen erlauben, und die eine
+        <methodname>init()</methodname> Methode haben. Als Beispiel, könnte eine eigene
+        "View"-Bootstrap-Ressource wie folgt aussehen:
+    </para>
+
+    <programlisting language="php"><![CDATA[
 class My_Bootstrap_Resource_View
     extends Zend_Application_Resource_ResourceAbstract
 {
@@ -205,15 +172,13 @@ class My_Bootstrap_Resource_View
 }
 ]]></programlisting>
 
-	<para>
-		Um der Bootstrap zu sagen, dass sie das verwenden soll, würde man
-		entweder den Klassennamen
-		des Ressource-Plugins übergeben müssen, oder eine Kombination eines
-		Plugin Loader
-		Präfixpfades und den Kurznamen des Ressource-Plugins (z.B. "view"):
+    <para>
+        Um der Bootstrap zu sagen, dass sie das verwenden soll, würde man entweder den Klassennamen
+        des Ressource-Plugins übergeben müssen, oder eine Kombination eines Plugin Loader
+        Präfixpfades und den Kurznamen des Ressource-Plugins (z.B. "view"):
     </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 $application = new Zend_Application(
     APPLICATION_ENV,
     array(
@@ -234,13 +199,12 @@ $application = new Zend_Application(
 );
 ]]></programlisting>
 
-	<para>
-		Ressource-Plugins können andere Ressourcen und Initialisierungen aufrufen, indem sie
-		auf den
-		Eltern-Bootstrap zugreifen:
+    <para>
+        Ressource-Plugins können andere Ressourcen und Initialisierungen aufrufen, indem sie auf den
+        Eltern-Bootstrap zugreifen:
     </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 class My_Bootstrap_Resource_Layout
     extends Zend_Application_Resource_ResourceAbstract
 {
@@ -257,24 +221,22 @@ class My_Bootstrap_Resource_Layout
 }
 ]]></programlisting>
 
-	<para>
-		Bei normaler Verwendung würde man die Anwendung instanzieren, sie
-		bootstrappen, und
-		anschließend ausführen:
+    <para>
+        Bei normaler Verwendung würde man die Anwendung instanzieren, sie bootstrappen, und
+        anschließend ausführen:
     </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 $application = new Zend_Application(...);
 $application->bootstrap()
             ->run();
 ]]></programlisting>
 
-	<para>
-		Für ein eigenes Skript müsste man einfach spezifische Ressourcen
-		initialisieren:
+    <para>
+        Für ein eigenes Skript müsste man einfach spezifische Ressourcen initialisieren:
     </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 $application = new Zend_Application(...);
 $application->getBootstrap('db');
 
@@ -283,14 +245,12 @@ $service->setClass('Foo');  // Verwende die Datenbank...
 echo $service->handle();
 ]]></programlisting>
 
-	<para>
-		Statt der Verwendung der Methode
-		<methodname>bootstrap()</methodname>
-		, um interne Methoden
-		oder Ressourcen aufzurufen, kann man auch Überladung verwenden:
-	</para>
+    <para>
+        Statt der Verwendung der Methode <methodname>bootstrap()</methodname>, um interne Methoden
+        oder Ressourcen aufzurufen, kann man auch Überladung verwenden:
+    </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 $application = new Zend_Application(...);
 $application->getBootstrapDb();
 ]]></programlisting>

+ 7 - 11
documentation/manual/de/module_specs/Zend_Application-Introduction.xml

@@ -2,16 +2,12 @@
 <!-- EN-Revision: 15814 -->
 <!-- Reviewed: 15814 -->
 <sect1 id="zend.application.introduction">
-	<title>Einführung</title>
+    <title>Einführung</title>
 
-	<para>
-		<classname>Zend_Application</classname>
-		bietet eine Möglichkeit des Bootstrappings für
-		Anwendungen für wiederverwendbare Ressourcen, Normal- und Modul-basierende
-		Bootstrap-Klassen und der Prüfung deren Abhängigkeit. Es kümmert sich
-		auch um die
-		Einstellungen für die
-		<acronym>PHP</acronym>
-		-Umgebung und leitet standardmäßig Autoloading ein.
-	</para>
+    <para>
+        <classname>Zend_Application</classname> bietet eine Möglichkeit des Bootstrappings für
+        Anwendungen für wiederverwendbare Ressourcen, Normal- und Modul-basierende
+        Bootstrap-Klassen und der Prüfung deren Abhängigkeit. Es kümmert sich auch um die
+        Einstellungen für die <acronym>PHP</acronym>-Umgebung und leitet standardmäßig Autoloading ein.
+    </para>
 </sect1>

+ 204 - 290
documentation/manual/de/module_specs/Zend_Application-QuickStart.xml

@@ -2,73 +2,53 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: 20763 -->
 <sect1 id="zend.application.quick-start">
-	<title>Zend_Application Quick Start</title>
-
-	<para>
-		Es gibt zwei Wege um mit
-		<classname>Zend_Application</classname>
-		anzufangen, und diese
-		hängen davon ab, wie man das Projekt beginnt. In jedem Fall beginnt man
-		immer mit der
-		Erstellung einer
-		<classname>Bootstrap</classname>
-		-Klasse und einer entsprechenden
-		Konfigurationsdatei.
-	</para>
-
-	<para>
-		Wenn man plant
-		<classname>Zend_Tool</classname>
-		zu verwenden, um das eigene Projekt zu
-		erstellen, sollte man unten weiterlesen. Wenn man
-		<classname>Zend_Application</classname>
-		zu
-		einem existierenden Projekt hinzufügen will, sollte man
-		<link linkend="zend.application.quick-start.manual">hier weiterlesen</link>
-		.
-	</para>
-
-	<sect2 id="zend.application.quick-start.zend-tool">
-		<title>Verwenden von Zend_Tool</title>
-
-		<para>
-			Der schnellste Weg, um mit
-			<classname>Zend_Application</classname>
-			zu beginnen, ist die
-			Verwendung von
-			<classname>Zend_Tool</classname>
-			um das Projekt zu erstellen. Das
-			erstellt auch die
-			<classname>Bootstrap</classname>
-			-Klasse und die Datei.
-		</para>
-
-		<para>
-			Um ein Projekt zu erstellen, muß einfach das Kommando
-			<command>zf</command>
-			(auf *nix
-			Systemen) ausgeführt werden:
-		</para>
-
-		<programlisting language="sh"><![CDATA[
+    <title>Zend_Application Quick Start</title>
+
+    <para>
+        Es gibt zwei Wege um mit <classname>Zend_Application</classname> anzufangen, und diese
+        hängen davon ab, wie man das Projekt beginnt. In jedem Fall beginnt man immer mit der
+        Erstellung einer <classname>Bootstrap</classname>-Klasse und einer entsprechenden
+        Konfigurationsdatei.
+    </para>
+
+    <para>
+        Wenn man plant <classname>Zend_Tool</classname> zu verwenden, um das eigene Projekt zu
+        erstellen, sollte man unten weiterlesen. Wenn man <classname>Zend_Application</classname> zu
+        einem existierenden Projekt hinzufügen will, sollte man <link
+            linkend="zend.application.quick-start.manual">hier weiterlesen</link>.
+    </para>
+
+    <sect2 id="zend.application.quick-start.zend-tool">
+        <title>Verwenden von Zend_Tool</title>
+
+        <para>
+            Der schnellste Weg, um mit <classname>Zend_Application</classname> zu beginnen, ist die
+            Verwendung von <classname>Zend_Tool</classname> um das Projekt zu erstellen. Das
+            erstellt auch die <classname>Bootstrap</classname>-Klasse und die Datei.
+        </para>
+
+        <para>
+            Um ein Projekt zu erstellen, muß einfach das Kommando <command>zf</command> (auf *nix
+            Systemen) ausgeführt werden:
+        </para>
+
+        <programlisting language="sh"><![CDATA[
 % zf create project newproject
 ]]></programlisting>
 
-		<para>
-			Oder unter Windows das Kommando
-			<filename>zf.bat</filename>
-			:
-		</para>
+        <para>
+            Oder unter Windows das Kommando <filename>zf.bat</filename>:
+        </para>
 
-		<programlisting language="dos"><![CDATA[
+        <programlisting language="dos"><![CDATA[
 C:> zf.bat create project newproject
 ]]></programlisting>
 
-		<para>
-			Beides erstellt eine Projektstruktur, die wie folgt aussieht:
+        <para>
+            Beides erstellt eine Projektstruktur, die wie folgt aussieht:
         </para>
 
-		<programlisting language="text"><![CDATA[
+        <programlisting language="text"><![CDATA[
 newproject
 |-- application
 |   |-- Bootstrap.php
@@ -96,27 +76,25 @@ newproject
     `-- phpunit.xml
 ]]></programlisting>
 
-		<para>
-			Im obigen Diagramm ist die Bootstrap unter
-			<filename>newproject/application/Bootstrap.php</filename>
-			und sieht zuerst wie folgt
-			aus:
-		</para>
+        <para>
+            Im obigen Diagramm ist die Bootstrap unter
+            <filename>newproject/application/Bootstrap.php</filename> und sieht zuerst wie folgt
+            aus:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
 }
 ]]></programlisting>
 
-		<para>
-			Sie werden auch bemerken, dass eine Konfigurationdatei unter
-			<filename>newproject/application/configs/application.ini</filename>
-			erstellt wurde.
-			Diese hat den folgenden Inhalt:
-		</para>
+        <para>
+            Sie werden auch bemerken, dass eine Konfigurationdatei unter
+            <filename>newproject/application/configs/application.ini</filename> erstellt wurde.
+            Diese hat den folgenden Inhalt:
+        </para>
 
-		<programlisting language="dosini"><![CDATA[
+        <programlisting language="dosini"><![CDATA[
 [production]
 phpSettings.display_startup_errors = 0
 phpSettings.display_errors = 0
@@ -136,22 +114,17 @@ phpSettings.display_startup_errors = 1
 phpSettings.display_errors = 1
 ]]></programlisting>
 
-		<para>
-			Alle Einstellungen in dieser Konfigurationsdatei sind für die
-			Verwendung mit
-			<classname>Zend_Application</classname>
-			und der Bootstrap.
-		</para>
-
-		<para>
-			Eine andere Datei von Interesse ist die
-			<filename>newproject/public/index.php</filename>
-			Datei, welche
-			<classname>Zend_Application</classname>
-			aufruft und diese ausführt.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Alle Einstellungen in dieser Konfigurationsdatei sind für die Verwendung mit
+            <classname>Zend_Application</classname> und der Bootstrap.
+        </para>
+
+        <para>
+            Eine andere Datei von Interesse ist die <filename>newproject/public/index.php</filename>
+            Datei, welche <classname>Zend_Application</classname> aufruft und diese ausführt.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Define path to application directory
 defined('APPLICATION_PATH')
     || define('APPLICATION_PATH',
@@ -175,86 +148,63 @@ $application->bootstrap()
             ->run();
 ]]></programlisting>
 
-		<para>
-			Um mit dem Quick Start weiterzumachen, springen Sie bitte
-			<link linkend="zend.application.quick-start.resources">auf das Ressource-Kapitel</link>
-			.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.application.quick-start.manual">
-		<title>Zend_Application in der eigenen Anwendung hinzufügen</title>
-
-		<para>
-			Die Basis von
-			<classname>Zend_Application</classname>
-			ist wirklich einfach:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					Eine Datei
-					<filename>application/Bootstrap.php</filename>
-					mit der Klasse
-					<classname>Bootstrap</classname>
-					erstellen.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Eine Konfigurationsdatei
-					<filename>application/configs/application.ini</filename>
-					mit der
-					Basiskonfiguration für
-					<classname>Zend_Application</classname>
-					erstellen.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Ändern von
-					<filename>public/index.php</filename>
-					um
-					<classname>Zend_Application</classname>
-					anzupassen.
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Zuerst die eigene
-			<classname>Bootstrap</classname>
-			-Klasse erstellen. Erzeuge eine Datei
-			<filename>application/Bootstrap.php</filename>
-			mit dem folgenden Inhalt:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Um mit dem Quick Start weiterzumachen, springen Sie bitte <link
+            linkend="zend.application.quick-start.resources">auf das Ressource-Kapitel</link>.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.application.quick-start.manual">
+        <title>Zend_Application in der eigenen Anwendung hinzufügen</title>
+
+        <para>
+            Die Basis von <classname>Zend_Application</classname> ist wirklich einfach:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    Eine Datei <filename>application/Bootstrap.php</filename> mit der Klasse
+                    <classname>Bootstrap</classname> erstellen.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Eine Konfigurationsdatei
+                    <filename>application/configs/application.ini</filename> mit der
+                    Basiskonfiguration für <classname>Zend_Application</classname> erstellen.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Ändern von <filename>public/index.php</filename> um
+                    <classname>Zend_Application</classname> anzupassen.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Zuerst die eigene <classname>Bootstrap</classname>-Klasse erstellen. Erzeuge eine Datei
+            <filename>application/Bootstrap.php</filename> mit dem folgenden Inhalt:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
 }
 ]]></programlisting>
 
-		<para>
-			Jetzt die Konfiguration erstellen. Für dieses Tutorial, verwenden wir
-			eine
-			Konfiguration im
-			<acronym>INI</acronym>
-			-Stil; man kann natürlich genauso eine
-			<acronym>XML</acronym>
-			- oder
-			<acronym>PHP</acronym>
-			-Konfigurationsdatei verwenden.
-			Erstelle eine Datei
-			<filename>application/configs/application.ini</filename>
-			, und füge
-			den folgenden Inhalt ein:
-		</para>
-
-		<programlisting language="dosini"><![CDATA[
+        <para>
+            Jetzt die Konfiguration erstellen. Für dieses Tutorial, verwenden wir eine
+            Konfiguration im <acronym>INI</acronym>-Stil; man kann natürlich genauso eine
+            <acronym>XML</acronym>- oder <acronym>PHP</acronym>-Konfigurationsdatei verwenden.
+            Erstelle eine Datei <filename>application/configs/application.ini</filename>, und füge
+            den folgenden Inhalt ein:
+        </para>
+
+        <programlisting language="dosini"><![CDATA[
 [production]
 phpSettings.display_startup_errors = 0
 phpSettings.display_errors = 0
@@ -274,16 +224,13 @@ phpSettings.display_startup_errors = 1
 phpSettings.display_errors = 1
 ]]></programlisting>
 
-		<para>
-			Jetz verändern wir das Gateway Skript
-			<filename>public/index.php</filename>
-			. Wenn die
-			Datei nicht existiert, erstellen wir sie; andernfalls ersetzen wir sie mit
-			dem folgenden
-			Inhalt:
-		</para>
+        <para>
+            Jetz verändern wir das Gateway Skript <filename>public/index.php</filename>. Wenn die
+            Datei nicht existiert, erstellen wir sie; andernfalls ersetzen wir sie mit dem folgenden
+            Inhalt:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Define path to application directory
 defined('APPLICATION_PATH')
     || define('APPLICATION_PATH',
@@ -314,21 +261,15 @@ $application->bootstrap()
             ->run();
 ]]></programlisting>
 
-		<para>
-			Es ist zu beachten, dass die Umgebungskonstante der Anwendung nach
-			einer
-			Umgebungsvariablen "APPLICATION_ENV" sucht. Wir empfehlen diese im Web Server
-			Environment
-			zu setzen. In Apache kann man diese entweder in der vhost Definition
-			setzen, oder in der
-			Datei
-			<filename>.htaccess</filename>
-			. Wir empfehlen den folgenden Inhalt in der Datei
-			<filename>public/.htaccess</filename>
-			:
-		</para>
-
-		<programlisting language="conf"><![CDATA[
+        <para>
+            Es ist zu beachten, dass die Umgebungskonstante der Anwendung nach einer
+            Umgebungsvariablen "APPLICATION_ENV" sucht. Wir empfehlen diese im Web Server Environment
+            zu setzen. In Apache kann man diese entweder in der vhost Definition setzen, oder in der
+            Datei <filename>.htaccess</filename>. Wir empfehlen den folgenden Inhalt in der Datei
+            <filename>public/.htaccess</filename>:
+        </para>
+
+        <programlisting language="conf"><![CDATA[
 SetEnv APPLICATION_ENV development
 
 RewriteEngine On
@@ -339,65 +280,52 @@ RewriteRule ^.*$ - [NC,L]
 RewriteRule ^.*$ index.php [NC,L]
 ]]></programlisting>
 
-		<note>
-			<title>Mehr über mod_rewrite lernen</title>
-
-			<para>
-				Die obigen Rewrite-Regeln erlauben es, auf jede Datei im
-				DocumentRoot des eigenen
-				virtuellen Hosts zuzugreifen. Wenn es Dateien gibt, die man auf diesem Weg
-				nicht
-				bereitstellen will, muss man in seinen Regeln restriktiver sein. Gehe zur
-				Apache WebSite und
-				<ulink url="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">lerne mehr über
-					mod_rewrite</ulink>
-				.
-			</para>
-		</note>
-
-		<para>
-			An diesem Punkt haben wir es geschafft und können damit beginnen, die
-			Vorteile von
-			<classname>Zend_Application</classname>
-			zu nutzen.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.application.quick-start.resources">
-		<title>Hinzufügen und Erstellen von Ressourcen</title>
-
-		<para>
-			Wenn man den Anleitungen von oben gefolgt ist, dann verwendet die
-			Bootstrap-Klasse
-			einen FrontController, und wenn sie gestartet wird, wird sie den
-			FrontController
-			ausführen. Trotzdem wird man mit großer Wahrscheinlichkeit etwas mehr
-			Konfiguration
-			als das benötigen.
+        <note>
+            <title>Mehr über mod_rewrite lernen</title>
+
+            <para>
+                Die obigen Rewrite-Regeln erlauben es, auf jede Datei im DocumentRoot des eigenen
+                virtuellen Hosts zuzugreifen. Wenn es Dateien gibt, die man auf diesem Weg nicht
+                bereitstellen will, muss man in seinen Regeln restriktiver sein. Gehe zur
+                Apache WebSite und <ulink
+                url="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">lerne mehr über
+                mod_rewrite</ulink>.
+            </para>
+        </note>
+
+        <para>
+            An diesem Punkt haben wir es geschafft und können damit beginnen, die Vorteile von
+            <classname>Zend_Application</classname> zu nutzen.
         </para>
+    </sect2>
 
-		<para>
-			In diesem Kapitel werden wir zwei Ressourcen zur Anwendung hinzufügen.
-			Zuerst werden
-			wir Layouts erstellen, und dann werden wir das View Objekt anpassen.
+    <sect2 id="zend.application.quick-start.resources">
+        <title>Hinzufügen und Erstellen von Ressourcen</title>
+
+        <para>
+            Wenn man den Anleitungen von oben gefolgt ist, dann verwendet die Bootstrap-Klasse
+            einen FrontController, und wenn sie gestartet wird, wird sie den FrontController
+            ausführen. Trotzdem wird man mit großer Wahrscheinlichkeit etwas mehr Konfiguration
+            als das benötigen.
+        </para>
+
+        <para>
+            In diesem Kapitel werden wir zwei Ressourcen zur Anwendung hinzufügen. Zuerst werden
+            wir Layouts erstellen, und dann werden wir das View Objekt anpassen.
         </para>
 
-		<para>
-			Eine der von
-			<classname>Zend_Application</classname>
-			angebotenen Standardressourcen ist
-			die "layout" Ressource. Diese Ressource erwartet, dass man
-			Konfigurationswerte definiert,
-			welche dann verwendet werden, um unsere Instanz von
-			<classname>Zend_Layout</classname>
-			zu konfigurieren.
-		</para>
-
-		<para>
-			Um sie zu verwenden, müssen wir die Konfigurationsdatei aktualisieren.
+        <para>
+            Eine der von <classname>Zend_Application</classname> angebotenen Standardressourcen ist
+            die "layout" Ressource. Diese Ressource erwartet, dass man Konfigurationswerte definiert,
+            welche dann verwendet werden, um unsere Instanz von <classname>Zend_Layout</classname>
+            zu konfigurieren.
         </para>
 
-		<programlisting language="dosini"><![CDATA[
+        <para>
+            Um sie zu verwenden, müssen wir die Konfigurationsdatei aktualisieren.
+        </para>
+
+        <programlisting language="dosini"><![CDATA[
 [production]
 phpSettings.display_startup_errors = 0
 phpSettings.display_errors = 0
@@ -419,18 +347,15 @@ phpSettings.display_startup_errors = 1
 phpSettings.display_errors = 1
 ]]></programlisting>
 
-		<para>
-			Wenn man es nicht bereits getan hat, muß man das Verzeichnis
-			<filename>application/layouts/scripts/</filename>
-			und die Datei
-			<filename>layout.phtml</filename>
-			in diesem Verzeichnis erstellen. Ein gutes Layout zum
-			Starten ist das folgende (und ist mit der View Ressource verbunden, die als
-			nächstes
-			besprochen wird):
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Wenn man es nicht bereits getan hat, muß man das Verzeichnis
+            <filename>application/layouts/scripts/</filename> und die Datei
+            <filename>layout.phtml</filename> in diesem Verzeichnis erstellen. Ein gutes Layout zum
+            Starten ist das folgende (und ist mit der View Ressource verbunden, die als nächstes
+            besprochen wird):
+        </para>
+
+        <programlisting language="php"><![CDATA[
 <?php echo $this->doctype() ?>
 <html>
 <head>
@@ -445,25 +370,19 @@ phpSettings.display_errors = 1
 </html>
 ]]></programlisting>
 
-		<para>
-			An diesem Punkt haben wir ein funktionierendes Layout.
+        <para>
+            An diesem Punkt haben wir ein funktionierendes Layout.
+        </para>
+
+        <para>
+            Jetzt fügen wir eine eigene View Ressource hinzu. Wenn die View initialisiert wird,
+            will man den <acronym>HTML</acronym> DocType und einen Standardwert für den im
+            <acronym>HTML</acronym>-Kopf zu verwendenden Titel setzen. Das kann durch die Änderung
+            der <classname>Bootstrap</classname>-Klasse und dem Hinzufügen einer Methode gemacht
+            werden:
         </para>
 
-		<para>
-			Jetzt fügen wir eine eigene View Ressource hinzu. Wenn die View
-			initialisiert wird,
-			will man den
-			<acronym>HTML</acronym>
-			DocType und einen Standardwert für den im
-			<acronym>HTML</acronym>
-			-Kopf zu verwendenden Titel setzen. Das kann durch die Änderung
-			der
-			<classname>Bootstrap</classname>
-			-Klasse und dem Hinzufügen einer Methode gemacht
-			werden:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
     protected function _initView()
@@ -485,26 +404,21 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 }
 ]]></programlisting>
 
-		<para>
-			Diese Methode wird automatisch ausgeführt, wenn das Bootstrap der
-			Anwendung ausgeführt
-			wird und stellt sicher, dass die View so initialisiert wird, wie die
-			Anwendung das
-			benötigt.
+        <para>
+            Diese Methode wird automatisch ausgeführt, wenn das Bootstrap der Anwendung ausgeführt
+            wird und stellt sicher, dass die View so initialisiert wird, wie die Anwendung das
+            benötigt.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.application.quick-start.next-steps">
+        <title>Nächste Schritte mit Zend_Application</title>
+
+        <para>
+            Das oben erwähnte reicht, um mit <classname>Zend_Application</classname> zu beginnen und
+            das Bootstrap der eigenen Anwendung zu erstellen. Von hier an sollte man beginnen
+            Ressource-Methoden zu erstellen, oder für maximale Wiederverwendbarkeit,
+            Ressource-Plugin Klassen. Lesen Sie weiter, um mehr zu lernen!
         </para>
-	</sect2>
-
-	<sect2 id="zend.application.quick-start.next-steps">
-		<title>Nächste Schritte mit Zend_Application</title>
-
-		<para>
-			Das oben erwähnte reicht, um mit
-			<classname>Zend_Application</classname>
-			zu beginnen und
-			das Bootstrap der eigenen Anwendung zu erstellen. Von hier an sollte man
-			beginnen
-			Ressource-Methoden zu erstellen, oder für maximale Wiederverwendbarkeit,
-			Ressource-Plugin Klassen. Lesen Sie weiter, um mehr zu lernen!
-		</para>
-	</sect2>
+    </sect2>
 </sect1>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 391 - 535
documentation/manual/de/module_specs/Zend_Application-TheoryOfOperation.xml


+ 282 - 430
documentation/manual/de/module_specs/Zend_Auth.xml

@@ -2,120 +2,70 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: 20763 -->
 <sect1 id="zend.auth.introduction">
-	<title>Einführung</title>
-
-	<para>
-		<classname>Zend_Auth</classname>
-		bietet eine
-		<acronym>API</acronym>
-		für das Authentifizieren
-		und enthält konkrete Authentifizierungs-Adapter für übliche
-		Use-Case-Szenarien.
-	</para>
-
-	<para>
-		<classname>Zend_Auth</classname>
-		behandelt nur die
-		<emphasis>Authentifizierung</emphasis>
-		und nicht die
-		<emphasis>Authorisierung</emphasis>
-		. Authentifizierung ist frei definiert als
-		das Ermitteln, ob eine Entität aktuell das ist, was sie vorgibt zu sein
-		(z.B.
-		Identifizierung), basierend auf einem Set von Anmeldedaten. Authorisierung, der Prozess
-		des
-		Entscheidens, ob es einer Entität erlaubt wird, auf andere Entitäten Zugriff zu
-		erhalten,
-		oder um auf diesen Operationen durchzuführen, ist ausserhalb der
-		Möglichkeit von
-		<classname>Zend_Auth</classname>
-		. Für weitere Informationen über Authorisierung und
-		Zugriffskontrolle mit dem Zend Framework, sollte
-		<link linkend="zend.acl">
-			<classname>Zend_Acl</classname>
-		</link>
-		angeschaut werden.
-	</para>
-
-	<note>
-		<para>
-			Die
-			<classname>Zend_Auth</classname>
-			Klasse implementiert das Singleton Pattern - nur
-			eine Instanz der Klasse ist vorhanden - durch ihre statische
-			Methode
-			<methodname>getInstance()</methodname>
-			. Das bedeutet, dass die Verwendung des
-			Operators
-			<emphasis>new</emphasis>
-			und des Schlüsselworts
-			<emphasis>clone</emphasis>
-			mit der
-			Klasse
-			<classname>Zend_Auth</classname>
-			nicht funktioniert; stattdessen muß
-			<methodname>Zend_Auth::getInstance()</methodname>
-			verwendet werden.
-		</para>
-	</note>
-
-	<sect2 id="zend.auth.introduction.adapters">
-		<title>Adapter</title>
-
-		<para>
-			Ein
-			<classname>Zend_Auth</classname>
-			-Adapter wird verwendet, um sich gegenüber einem
-			speziellen Typ von Authentifizierungsdiensten zu authentifizieren, wie
-			<acronym>LDAP</acronym>
-			,
-			<acronym>RDBMS</acronym>
-			, oder dateibasierenden Speichern.
-			Verschiedene Adapter besitzen leicht unterschiedliche Optionen und
-			Verhaltensweisen,
-			aber einige grundlegende Dinge haben Authentifizierungsadapter gemeinsam.
-			Zum Beispiel
-			dass für die Authentifizierung Anmeldedaten akzeptiert werden (enthält
-			auch vorgegebene
-			Identitäten), dass Abfragen am Authentifizierungsservice durchgeführt werden, und
-			dass
-			Ergebnisse zurückgegeben werden, sind für
-			<classname>Zend_Auth</classname>
-			-Adapter
-			gebräuchlich.
-		</para>
-
-		<para>
-			Jede
-			<classname>Zend_Auth</classname>
-			-Adapterklasse implementiert
-			<classname>Zend_Auth_Adapter_Interface</classname>
-			. Dieses Interface definiert eine
-			Methode
-			<methodname>authenticate()</methodname>
-			, die eine Adapterklasse
-			implementieren muß, um eine Authentifizierungsanfrage auszuführen. Jede
-			Adapterklasse
-			muß vorher vorbereitet werden, bevor
-			<methodname>authenticate()</methodname>
-			aufgerufen
-			wird. Diese Vorbereitung des Adapters enthält das Setzen der Anmeldedaten
-			(z.B.
-			Benutzername und Passwort) und die Definition von Werten für adapterspezifische
-			Konfigurationoptionen, wie Datenbankverbindungsdaten für einen
-			Datenbank-Tabellen-Adapter.
-		</para>
-
-		<para>
-			Das folgende ist ein Beispiel eines Authentifierungs-Adapters der einen
-			Benutzernamen
-			und ein Passwort für die Authentifizierung benötigt. Andere Details, wie
-			zum Beispiel
-			der Authentifizierungs-Service abgefragt wird, werden der Kürze halber
-			ausgelassen:
+    <title>Einführung</title>
+
+    <para>
+        <classname>Zend_Auth</classname> bietet eine <acronym>API</acronym> für das Authentifizieren
+        und enthält konkrete Authentifizierungs-Adapter für übliche Use-Case-Szenarien.
+    </para>
+
+    <para>
+        <classname>Zend_Auth</classname> behandelt nur die
+        <emphasis>Authentifizierung</emphasis> und nicht die
+        <emphasis>Authorisierung</emphasis>. Authentifizierung ist frei definiert als
+        das Ermitteln, ob eine Entität aktuell das ist, was sie vorgibt zu sein (z.B.
+        Identifizierung), basierend auf einem Set von Anmeldedaten. Authorisierung, der Prozess des
+        Entscheidens, ob es einer Entität erlaubt wird, auf andere Entitäten Zugriff zu erhalten,
+        oder um auf diesen Operationen durchzuführen, ist ausserhalb der Möglichkeit von
+        <classname>Zend_Auth</classname>. Für weitere Informationen über Authorisierung und
+        Zugriffskontrolle mit dem Zend Framework, sollte <link
+            linkend="zend.acl"><classname>Zend_Acl</classname></link> angeschaut werden.
+    </para>
+
+    <note>
+        <para>
+            Die <classname>Zend_Auth</classname> Klasse implementiert das Singleton Pattern - nur
+            eine Instanz der Klasse ist vorhanden - durch ihre statische
+            Methode <methodname>getInstance()</methodname>. Das bedeutet, dass die Verwendung des
+            Operators <emphasis>new</emphasis> und des Schlüsselworts <emphasis>clone</emphasis> mit der
+            Klasse <classname>Zend_Auth</classname> nicht funktioniert; stattdessen muß
+            <methodname>Zend_Auth::getInstance()</methodname> verwendet werden.
+        </para>
+    </note>
+
+    <sect2 id="zend.auth.introduction.adapters">
+        <title>Adapter</title>
+
+        <para>
+            Ein <classname>Zend_Auth</classname>-Adapter wird verwendet, um sich gegenüber einem
+            speziellen Typ von Authentifizierungsdiensten zu authentifizieren, wie
+            <acronym>LDAP</acronym>, <acronym>RDBMS</acronym>, oder dateibasierenden Speichern.
+            Verschiedene Adapter besitzen leicht unterschiedliche Optionen und Verhaltensweisen,
+            aber einige grundlegende Dinge haben Authentifizierungsadapter gemeinsam. Zum Beispiel
+            dass für die Authentifizierung Anmeldedaten akzeptiert werden (enthält auch vorgegebene
+            Identitäten), dass Abfragen am Authentifizierungsservice durchgeführt werden, und dass
+            Ergebnisse zurückgegeben werden, sind für <classname>Zend_Auth</classname>-Adapter
+            gebräuchlich.
+        </para>
+
+        <para>
+            Jede <classname>Zend_Auth</classname>-Adapterklasse implementiert
+            <classname>Zend_Auth_Adapter_Interface</classname>. Dieses Interface definiert eine
+            Methode <methodname>authenticate()</methodname>, die eine Adapterklasse
+            implementieren muß, um eine Authentifizierungsanfrage auszuführen. Jede Adapterklasse
+            muß vorher vorbereitet werden, bevor <methodname>authenticate()</methodname> aufgerufen
+            wird. Diese Vorbereitung des Adapters enthält das Setzen der Anmeldedaten (z.B.
+            Benutzername und Passwort) und die Definition von Werten für adapterspezifische
+            Konfigurationoptionen, wie Datenbankverbindungsdaten für einen Datenbank-Tabellen-Adapter.
+        </para>
+
+        <para>
+            Das folgende ist ein Beispiel eines Authentifierungs-Adapters der einen Benutzernamen
+            und ein Passwort für die Authentifizierung benötigt. Andere Details, wie zum Beispiel
+            der Authentifizierungs-Service abgefragt wird, werden der Kürze halber ausgelassen:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 class MyAuthAdapter implements Zend_Auth_Adapter_Interface
 {
     /**
@@ -142,115 +92,82 @@ class MyAuthAdapter implements Zend_Auth_Adapter_Interface
 }
 ]]></programlisting>
 
-		<para>
-			Wie im Docblock angegeben, muß
-			<methodname>authenticate()</methodname>
-			eine Instanz von
-			<classname>Zend_Auth_Result</classname>
-			(oder einer von
-			<classname>Zend_Auth_Result</classname>
-			abgeleiteten Klassen) zurückgeben. Wenn aus
-			bestimmten Gründen eine Durchführung einer Authentifizierungsanfrage nicht
-			möglich
-			ist, sollte
-			<methodname>authenticate()</methodname>
-			eine Ausnahme werfen, die von
-			<classname>Zend_Auth_Adapter_Exception</classname>
-			abgeleitet ist.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.auth.introduction.results">
-		<title>Ergebnisse</title>
-
-		<para>
-			<classname>Zend_Auth</classname>
-			-Adapter geben eine Instanz von
-			<classname>Zend_Auth_Result</classname>
-			mit Hilfe von
-			<methodname>authenticate()</methodname>
-			zurück, um die Ergebnisse des
-			Authentifizierungsversuchs darzustellen. Adapter befüllen das
-			Objekt
-			<classname>Zend_Auth_Result</classname>
-			bei der Erstellung, so dass die folgenden
-			vier Methoden ein grundsätzliches Set von benutzerbezogenen Operationen
-			bieten, die für
-			die Ergebnisse von
-			<classname>Zend_Auth</classname>
-			Adapter üblich sind:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<methodname>isValid()</methodname>
-					- Gibt
-					<constant>TRUE</constant>
-					zurück, wenn
-					und nur wenn das Ergebnis einen erfolgreichen
-					Authentifizierungsversuch
-					repräsentiert.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>getCode()</methodname>
-					- Gibt einen konstanten
-					<classname>Zend_Auth_Result</classname>
-					-Identifizierer zurück, damit der Typ des
-					Authentifizierungsfehlers, oder des Erfolgs der stattgefunden hat,
-					ermittelt werden kann. Das kann in Situationen verwendet werden, in
-					denen der
-					Entwickler die verschiedenen Ergebnistypen der Authentifizierung
-					unterschiedlich behandeln will. Das erlaubt es dem Entwickler zum
-					Beispiel
-					detailierte Statistiken über die Authentifizierungsergebnisse zu erhalten.
-					Eine andere Verwendung dieses Features ist es spezielle,
-					benutzerdefinierte
-					Nachrichten anzubieten, um Benutzern eine bessere Usability zu ermöglichen,
-					einfach dadurch dass Entwickler dazu aufgerufen sind, die Risiken
-					solche
-					detaillierte Informationen Benutzern anzubieten, statt einer generellen
-					Nachricht eines Authentifizierungsfehlers. Für weitere
-					Informationen siehe
-					die Notiz anbei.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>getIdentity()</methodname>
-					- Gibt die Identität des
-					Authentifizierungsversuchs zurück
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>getMessages()</methodname>
-					- Gibt ein Array von Nachrichten
-					zurück nach einem fehlgeschlagenen Authentifizierungsversuch
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Ein Entwickler möchte basierend auf dem Typ des
-			Authentifizierungsergebnisses zu
-			spezialisierteren Operationen verzweigen. Einige Operationen die für
-			Entwickler nützlich sein können, sind zum Beispiel das Sperren von Konten
-			nachdem zu oft
-			ein falsches Passwort angegeben wurde, das Markieren von IP-Adressen,
-			nachdem zuviele
-			nicht existierende Identitäten angegeben wurden und das Anbieten von
-			speziellen,
-			benutzerdefinierten Nachrichten für Authentifizierungsergebnisse an den Benutzer. Die
-			folgenden Ergebniscodes sind vorhanden:
+        <para>
+            Wie im Docblock angegeben, muß <methodname>authenticate()</methodname> eine Instanz von
+            <classname>Zend_Auth_Result</classname> (oder einer von
+            <classname>Zend_Auth_Result</classname> abgeleiteten Klassen) zurückgeben. Wenn aus
+            bestimmten Gründen eine Durchführung einer Authentifizierungsanfrage nicht möglich
+            ist, sollte <methodname>authenticate()</methodname> eine Ausnahme werfen, die von
+            <classname>Zend_Auth_Adapter_Exception</classname> abgeleitet ist.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.auth.introduction.results">
+        <title>Ergebnisse</title>
+
+        <para>
+            <classname>Zend_Auth</classname>-Adapter geben eine Instanz von
+            <classname>Zend_Auth_Result</classname> mit Hilfe von
+            <methodname>authenticate()</methodname> zurück, um die Ergebnisse des
+            Authentifizierungsversuchs darzustellen. Adapter befüllen das
+            Objekt <classname>Zend_Auth_Result</classname> bei der Erstellung, so dass die folgenden
+            vier Methoden ein grundsätzliches Set von benutzerbezogenen Operationen bieten, die für
+            die Ergebnisse von <classname>Zend_Auth</classname> Adapter üblich sind:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <methodname>isValid()</methodname> - Gibt <constant>TRUE</constant> zurück, wenn
+                    und nur wenn das Ergebnis einen erfolgreichen Authentifizierungsversuch
+                    repräsentiert.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getCode()</methodname> - Gibt einen konstanten
+                    <classname>Zend_Auth_Result</classname>-Identifizierer zurück, damit der Typ des
+                    Authentifizierungsfehlers, oder des Erfolgs der stattgefunden hat,
+                    ermittelt werden kann. Das kann in Situationen verwendet werden, in denen der
+                    Entwickler die verschiedenen Ergebnistypen der Authentifizierung
+                    unterschiedlich behandeln will. Das erlaubt es dem Entwickler zum Beispiel
+                    detailierte Statistiken über die Authentifizierungsergebnisse zu erhalten.
+                    Eine andere Verwendung dieses Features ist es spezielle, benutzerdefinierte
+                    Nachrichten anzubieten, um Benutzern eine bessere Usability zu ermöglichen,
+                    einfach dadurch dass Entwickler dazu aufgerufen sind, die Risiken solche
+                    detaillierte Informationen Benutzern anzubieten, statt einer generellen
+                    Nachricht eines Authentifizierungsfehlers. Für weitere Informationen siehe
+                    die Notiz anbei.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getIdentity()</methodname> - Gibt die Identität des
+                    Authentifizierungsversuchs zurück
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getMessages()</methodname> - Gibt ein Array von Nachrichten
+                    zurück nach einem fehlgeschlagenen Authentifizierungsversuch
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Ein Entwickler möchte basierend auf dem Typ des Authentifizierungsergebnisses zu
+            spezialisierteren Operationen verzweigen. Einige Operationen die für
+            Entwickler nützlich sein können, sind zum Beispiel das Sperren von Konten nachdem zu oft
+            ein falsches Passwort angegeben wurde, das Markieren von IP-Adressen, nachdem zuviele
+            nicht existierende Identitäten angegeben wurden und das Anbieten von speziellen,
+            benutzerdefinierten Nachrichten für Authentifizierungsergebnisse an den Benutzer. Die
+            folgenden Ergebniscodes sind vorhanden:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 Zend_Auth_Result::SUCCESS
 Zend_Auth_Result::FAILURE
 Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND
@@ -259,13 +176,12 @@ Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID
 Zend_Auth_Result::FAILURE_UNCATEGORIZED
 ]]></programlisting>
 
-		<para>
-			Das folgende Beispiel zeigt, wie ein Entwickler anhand des Ergebniscodes
-			verzweigen
-			könnte:
+        <para>
+            Das folgende Beispiel zeigt, wie ein Entwickler anhand des Ergebniscodes verzweigen
+            könnte:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Innerhalb von AuthController / loginAction
 $result = $this->_auth->authenticate($adapter);
 
@@ -288,95 +204,64 @@ switch ($result->getCode()) {
         break;
 }
 ]]></programlisting>
-	</sect2>
+    </sect2>
 
-	<sect2 id="zend.auth.introduction.persistence">
-		<title>Dauerhafte Identitäten</title>
+    <sect2 id="zend.auth.introduction.persistence">
+        <title>Dauerhafte Identitäten</title>
+
+        <para>
+            Eine Anfrage zu authentifizieren, die Anmeldedaten enthält ist per se
+            nützlich, aber auch wichtig, um die Authentifizierungs-Identität bearbeiten zu können,
+            ohne dass immer die Anmeldedaten bei jeder Anfrage vorhanden sein müssen.
+        </para>
 
-		<para>
-			Eine Anfrage zu authentifizieren, die Anmeldedaten enthält ist per se
-			nützlich, aber auch wichtig, um die Authentifizierungs-Identität
-			bearbeiten zu können,
-			ohne dass immer die Anmeldedaten bei jeder Anfrage vorhanden sein müssen.
+        <para>
+            Trotzdem ist <acronym>HTTP</acronym> ein statusloses Protokoll, und Techniken wie
+            Cookies und Sessions wurden entwickelt um Stati über mehrere Anfragen hinweg in
+            server-seitigen Web-Anwendungen zu erhalten.
         </para>
 
-		<para>
-			Trotzdem ist
-			<acronym>HTTP</acronym>
-			ein statusloses Protokoll, und Techniken wie
-			Cookies und Sessions wurden entwickelt um Stati über mehrere Anfragen hinweg
-			in
-			server-seitigen Web-Anwendungen zu erhalten.
-		</para>
-
-		<sect3 id="zend.auth.introduction.persistence.default">
-			<title>Normale Persistenz in PHP-Sessions</title>
-
-			<para>
-				Standardmäßig bietet
-				<classname>Zend_Auth</classname>
-				dauerhafte Speicherung der
-				Identität eines erfolgreichen Authentifizierungsversuches durch Verwendung
-				der
-				<acronym>PHP</acronym>
-				-Session. Bei einem erfolgreichen Authentifizierungsversuch
-				speichert
-				<methodname>Zend_Auth::authenticate()</methodname>
-				die Identität des
-				Authentifizierungsergebnisses im persistenten Speicher. Solange die Konfiguration
-				nicht verändert wird, verwendet
-				<classname>Zend_Auth</classname>
-				eine
-				Speicherklasse die
-				<classname>Zend_Auth_Storage_Session</classname>
-				heißt und die
-				im Gegenzug
-				<link linkend="zend.session">
-					<classname>Zend_Session</classname>
-				</link>
-				verwendet. Eine eigene Klasse kann stattdessen verwendet werden,
-				indem ein Objekt
-				an
-				<methodname>Zend_Auth::setStorage()</methodname>
-				übergeben wird, welches
-				<classname>Zend_Auth_Storage_Interface</classname>
-				implementiert.
-			</para>
-
-			<note>
-				<para>
-					Wenn das automatische persistente Speichern der Identität für einen
-					bestimmten
-					Anwendungsfall nicht anwendbar ist, können Entwickler trotzdem die
-					<classname>Zend_Auth</classname>
-					Klasse weiterhin verwenden, statt direkt eine
-					Adapterklasse anzusprechen.
-				</para>
-			</note>
-
-			<example id="zend.auth.introduction.persistence.default.example">
-				<title>Den Namensraum der Session ändern</title>
-
-				<para>
-					<classname>Zend_Auth_Storage_Session</classname>
-					verwendet einen Session
-					Namensraum von '
-					<classname>Zend_Auth</classname>
-					'. Dieser Namensraum kann
-					überschrieben werden, indem ein anderer Wert an den Konstruktor von
-					<classname>Zend_Auth_Storage_Session</classname>
-					übergeben wird, und dieser Wert
-					wird intern an den Konstruktor von
-					<classname>Zend_Session_Namespace</classname>
-					weitergereicht. Das sollte vor einem Versuch einer
-					Authentifizierung stattfinden,
-					da
-					<methodname>Zend_Auth::authenticate()</methodname>
-					die automatische
-					Speicherung der Identität durchführt.
-				</para>
-
-				<programlisting language="php"><![CDATA[
+        <sect3 id="zend.auth.introduction.persistence.default">
+            <title>Normale Persistenz in PHP-Sessions</title>
+
+            <para>
+                 Standardmäßig bietet <classname>Zend_Auth</classname> dauerhafte Speicherung der
+                 Identität eines erfolgreichen Authentifizierungsversuches durch Verwendung der
+                 <acronym>PHP</acronym>-Session. Bei einem erfolgreichen Authentifizierungsversuch
+                 speichert <methodname>Zend_Auth::authenticate()</methodname> die Identität des
+                 Authentifizierungsergebnisses im persistenten Speicher. Solange die Konfiguration
+                 nicht verändert wird, verwendet <classname>Zend_Auth</classname> eine
+                 Speicherklasse die <classname>Zend_Auth_Storage_Session</classname> heißt und die
+                 im Gegenzug <link linkend="zend.session"><classname>Zend_Session</classname></link>
+                 verwendet. Eine eigene Klasse kann stattdessen verwendet werden, indem ein Objekt
+                 an <methodname>Zend_Auth::setStorage()</methodname> übergeben wird, welches
+                 <classname>Zend_Auth_Storage_Interface</classname> implementiert.
+            </para>
+
+            <note>
+                <para>
+                    Wenn das automatische persistente Speichern der Identität für einen bestimmten
+                    Anwendungsfall nicht anwendbar ist, können Entwickler trotzdem die
+                    <classname>Zend_Auth</classname> Klasse weiterhin verwenden, statt direkt eine
+                    Adapterklasse anzusprechen.
+                </para>
+            </note>
+
+            <example id="zend.auth.introduction.persistence.default.example">
+                <title>Den Namensraum der Session ändern</title>
+
+                <para>
+                    <classname>Zend_Auth_Storage_Session</classname> verwendet einen Session
+                    Namensraum von '<classname>Zend_Auth</classname>'. Dieser Namensraum kann
+                    überschrieben werden, indem ein anderer Wert an den Konstruktor von
+                    <classname>Zend_Auth_Storage_Session</classname> übergeben wird, und dieser Wert
+                    wird intern an den Konstruktor von <classname>Zend_Session_Namespace</classname>
+                    weitergereicht. Das sollte vor einem Versuch einer Authentifizierung stattfinden,
+                    da <methodname>Zend_Auth::authenticate()</methodname> die automatische
+                    Speicherung der Identität durchführt.
+                </para>
+
+                <programlisting language="php"><![CDATA[
 // Eine Referenz zur Singleton Instanz von Zend_Auth speichern
 $auth = Zend_Auth::getInstance();
 
@@ -391,41 +276,31 @@ $auth->setStorage(new Zend_Auth_Storage_Session('someNamespace'));
 // persistent machen
 $result = $auth->authenticate($authAdapter);
 ]]></programlisting>
-			</example>
-		</sect3>
-
-		<sect3 id="zend.auth.introduction.persistence.custom">
-			<title>Eigene Speicher implementieren</title>
-
-			<para>
-				Zeitweise wollen Entwickler einen anderen Speichermechanismus für
-				Identitäten
-				verwenden als es von
-				<classname>Zend_Auth_Storage_Session</classname>
-				angeboten
-				wird. Für solche Fälle können Entwickler einfach
-				<classname>Zend_Auth_Storage_Interface</classname>
-				implementieren und eine Instanz
-				der Klasse an
-				<methodname>Zend_Auth::setStorage()</methodname>
-				übergeben.
-			</para>
-
-			<example id="zend.auth.introduction.persistence.custom.example">
-				<title>Eine eigene Speicherklasse verwenden</title>
-
-				<para>
-					Um eine andere Speicherklasse für die Persistenz von Identitäten zu
-					verwenden
-					als sie durch
-					<classname>Zend_Auth_Storage_Session</classname>
-					angeboten wird,
-					können Entwickler
-					<classname>Zend_Auth_Storage_Interface</classname>
-					implementieren:
-				</para>
-
-				<programlisting language="php"><![CDATA[
+            </example>
+        </sect3>
+
+        <sect3 id="zend.auth.introduction.persistence.custom">
+            <title>Eigene Speicher implementieren</title>
+
+            <para>
+                Zeitweise wollen Entwickler einen anderen Speichermechanismus für Identitäten
+                verwenden als es von <classname>Zend_Auth_Storage_Session</classname> angeboten
+                wird. Für solche Fälle können Entwickler einfach
+                <classname>Zend_Auth_Storage_Interface</classname> implementieren und eine Instanz
+                der Klasse an <methodname>Zend_Auth::setStorage()</methodname> übergeben.
+            </para>
+
+            <example id="zend.auth.introduction.persistence.custom.example">
+                <title>Eine eigene Speicherklasse verwenden</title>
+
+                <para>
+                    Um eine andere Speicherklasse für die Persistenz von Identitäten zu verwenden
+                    als sie durch <classname>Zend_Auth_Storage_Session</classname> angeboten wird,
+                    können Entwickler <classname>Zend_Auth_Storage_Interface</classname>
+                    implementieren:
+                </para>
+
+                <programlisting language="php"><![CDATA[
 class MyStorage implements Zend_Auth_Storage_Interface
 {
     /**
@@ -490,14 +365,13 @@ class MyStorage implements Zend_Auth_Storage_Interface
 }
 ]]></programlisting>
 
-				<para>
-					Um diese selbstgeschriebene Speicherklasse zu verwenden wird,
-					<methodname>Zend_Auth::setStorage()</methodname>
-					aufgerufen, bevor eine
-					Authentifizierungsanfrage stattfindet:
-				</para>
+                <para>
+                    Um diese selbstgeschriebene Speicherklasse zu verwenden wird,
+                    <methodname>Zend_Auth::setStorage()</methodname> aufgerufen, bevor eine
+                    Authentifizierungsanfrage stattfindet:
+                </para>
 
-				<programlisting language="php"><![CDATA[
+                <programlisting language="php"><![CDATA[
 // Zend_Auth anweisen, dass die selbstdefinierte Speicherklasse verwendet wird
 Zend_Auth::getInstance()->setStorage(new MyStorage());
 
@@ -508,46 +382,37 @@ Zend_Auth::getInstance()->setStorage(new MyStorage());
 // Authentifizieren, das Ergebnis speichern, und die Identität bei Erfolg
 $result = Zend_Auth::getInstance()->authenticate($authAdapter);
 ]]></programlisting>
-			</example>
-		</sect3>
-	</sect2>
-
-	<sect2 id="zend.auth.introduction.using">
-		<title>Verwendung</title>
-
-		<para>
-			Es gibt zwei vorhandene Wege um
-			<classname>Zend_Auth</classname>
-			-Adapter zu verwenden:
-		</para>
-
-		<orderedlist>
-			<listitem>
-				<para>
-					Indirekt durch
-					<methodname>Zend_Auth::authenticate()</methodname>
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Direkt durch die
-					<methodname>authenticate()</methodname>
-					Methode des Adapters
-				</para>
-			</listitem>
-		</orderedlist>
-
-		<para>
-			Das folgende Beispiel zeigt, wie ein
-			<classname>Zend_Auth</classname>
-			-Adapter indirekt
-			verwendet werden kann, durch die Verwendung der Klasse
-			<classname>Zend_Auth</classname>
-			:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+            </example>
+        </sect3>
+    </sect2>
+
+    <sect2 id="zend.auth.introduction.using">
+        <title>Verwendung</title>
+
+        <para>
+            Es gibt zwei vorhandene Wege um <classname>Zend_Auth</classname>-Adapter zu verwenden:
+        </para>
+
+        <orderedlist>
+            <listitem>
+                <para>
+                    Indirekt durch <methodname>Zend_Auth::authenticate()</methodname>
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Direkt durch die <methodname>authenticate()</methodname> Methode des Adapters
+                </para>
+            </listitem>
+        </orderedlist>
+
+        <para>
+            Das folgende Beispiel zeigt, wie ein <classname>Zend_Auth</classname>-Adapter indirekt
+            verwendet werden kann, durch die Verwendung der Klasse <classname>Zend_Auth</classname>:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Eine Referenz zur Singleton-Instanz von Zend_Auth erhalten
 $auth = Zend_Auth::getInstance();
 
@@ -570,15 +435,13 @@ if (!$result->isValid()) {
 }
 ]]></programlisting>
 
-		<para>
-			Sobald die Authentifizierung in einer Anfrage durchgeführt wurde, so wie im
-			obigen
-			Beispiel, ist es sehr einfach zu prüfen, ob eine erfolgreich authentifizierte
-			Identität
-			existiert:
+        <para>
+            Sobald die Authentifizierung in einer Anfrage durchgeführt wurde, so wie im obigen
+            Beispiel, ist es sehr einfach zu prüfen, ob eine erfolgreich authentifizierte Identität
+            existiert:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $auth = Zend_Auth::getInstance();
 if ($auth->hasIdentity()) {
     // Identität existiert; auslesen
@@ -586,40 +449,29 @@ if ($auth->hasIdentity()) {
 }
 ]]></programlisting>
 
-		<para>
-			Um eine Identität vom persistenten Speicher zu entfernen, muß einfach
-			die
-			Methode
-			<methodname>clearIdentity()</methodname>
-			verwendet werden. Das würde
-			typischerweise für die Implementierung einer "Abmelde"-Operation in einer
-			Anwendung Verwendung finden.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Um eine Identität vom persistenten Speicher zu entfernen, muß einfach die
+            Methode <methodname>clearIdentity()</methodname> verwendet werden. Das würde
+            typischerweise für die Implementierung einer "Abmelde"-Operation in einer
+            Anwendung Verwendung finden.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 Zend_Auth::getInstance()->clearIdentity();
 ]]></programlisting>
 
-		<para>
-			Wenn die automatische Verwendung von persistenten Speichern für einen
-			bestimmten
-			Verwendungszweck unangebracht ist, kann ein Entwickler einfach die Verwendung der
-			Klasse
-			<classname>Zend_Auth</classname>
-			umgehen, und eine Adapterklasse direkt
-			verwenden. Die direkte Verwendung einer Adapterklasse enthält das Konfigurieren
-			und
-			Vorbereiten eines Adapter-Objekts und den Aufruf dessen
-			Methode
-			<methodname>authenticate()</methodname>
-			. Adapter-spezifische Details werden in
-			der Dokumentation jedes Adapters besprochen. Das folgende Beispeil
-			verwendet
-			<classname>MyAuthAdapter</classname>
-			direkt:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Wenn die automatische Verwendung von persistenten Speichern für einen bestimmten
+            Verwendungszweck unangebracht ist, kann ein Entwickler einfach die Verwendung der
+            Klasse <classname>Zend_Auth</classname> umgehen, und eine Adapterklasse direkt
+            verwenden. Die direkte Verwendung einer Adapterklasse enthält das Konfigurieren und
+            Vorbereiten eines Adapter-Objekts und den Aufruf dessen
+            Methode <methodname>authenticate()</methodname>. Adapter-spezifische Details werden in
+            der Dokumentation jedes Adapters besprochen. Das folgende Beispeil verwendet
+            <classname>MyAuthAdapter</classname> direkt:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Den Authentifizierungsadapter erstellen
 $authAdapter = new MyAuthAdapter($username, $password);
 
@@ -636,5 +488,5 @@ if (!$result->isValid()) {
     // $result->getIdentity() === $username
 }
 ]]></programlisting>
-	</sect2>
+    </sect2>
 </sect1>

+ 191 - 278
documentation/manual/de/module_specs/Zend_Auth_Adapter_DbTable.xml

@@ -2,126 +2,88 @@
 <!-- EN-Revision: 21829 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.auth.adapter.dbtable">
-	<title>Datenbanktabellen Authentifizierung</title>
-
-	<sect2 id="zend.auth.adapter.dbtable.introduction">
-		<title>Einführung</title>
-
-		<para>
-			<classname>Zend_Auth_Adapter_DbTable</classname>
-			bietet die Möglichkeit sich gegenüber
-			Zeugnissen zu authentifizieren die in einer Datenbank Tabelle gespeichert sind.
-			Weil
-			<classname>Zend_Auth_Adapter_DbTable</classname>
-			eine Instanz von
-			<classname>Zend_Db_Adapter_Abstract</classname>
-			benötigt, die an den Konstruktor
-			übergeben wird, ist jede Instanz an eine spezielle Datenbank Verbindung
-			verknüpft.
-			Andere Konfigurationsoptionen können durch den Konstruktor gesetzt werden
-			und durch die
-			Methoden der Instanz. Eine für jede Option.
-		</para>
-
-		<para>
-			Die vorhandenen Konfigurationsoptionen beinhalten:
+    <title>Datenbanktabellen Authentifizierung</title>
+
+    <sect2 id="zend.auth.adapter.dbtable.introduction">
+        <title>Einführung</title>
+
+        <para>
+            <classname>Zend_Auth_Adapter_DbTable</classname> bietet die Möglichkeit sich gegenüber
+            Zeugnissen zu authentifizieren die in einer Datenbank Tabelle gespeichert sind. Weil
+            <classname>Zend_Auth_Adapter_DbTable</classname> eine Instanz von
+            <classname>Zend_Db_Adapter_Abstract</classname> benötigt, die an den Konstruktor
+            übergeben wird, ist jede Instanz an eine spezielle Datenbank Verbindung verknüpft.
+            Andere Konfigurationsoptionen können durch den Konstruktor gesetzt werden und durch die
+            Methoden der Instanz. Eine für jede Option.
         </para>
 
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>
-						<property>tableName</property>
-					</emphasis>
-					: Das ist der Name der
-					Datenbanktabelle welche die Authentifikations Zeugnisse enthält, und gegen die
-					jene Datenbank Authentifikations Abfrage durchgeführt wird.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>
-						<property>identityColumn</property>
-					</emphasis>
-					: Ist der Name der
-					Spalte der Datenbanktabelle welche die Identität repräsentiert. Die
-					Spalte der
-					Identität muß eindeutige und einmalige Werte enthalten, wie einen
-					Benutzernamen
-					oder eine Email Adresse.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>
-						<property>credentialColumn</property>
-					</emphasis>
-					: Das ist der Name
-					der Spalte der Datenbanktabelle die verwendet wird um die Zeugnisse zu
-					repräsentieren. Bei einem einfachen Identitäts und
-					Passwort-Authentifizierungs
-					Schema korrespondieren die Zeugnisse mit dem Passwort. Siehe auch die
-					<property>credentialTreatment</property>
-					Option.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>
-						<property>credentialTreatment</property>
-					</emphasis>
-					: In vielen Fällen
-					sind Passwörter und andere sensitive Daten verschlüsselt, gehasht,
-					kodiert,
-					gesalted, verschleiert oder auf andere Weise durch irgendeine Funktion oder
-					einen Algorithmus behandelt. Durch die Spezifikation eines
-					parametrisierbaren
-					Behandlungsstrings mit dieser Methode, wie '
-					<methodname>MD5(?)</methodname>
-					'
-					oder '
-					<methodname>PASSWORD(?)</methodname>
-					', könnte ein Entwickler beliebiges
-					<acronym>SQL</acronym>
-					an den Eingabe- Zeugnis-Daten anwenden. Da diese
-					Funktionen der darunter liegenden
-					<acronym>RDBMS</acronym>
-					speziell gehören,
-					sollte das Handbuch der Datenbank auf das Vorhandensein solcher
-					Funktionen im
-					eigenen Datenbank System geprüft werden.
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<example id="zend.auth.adapter.dbtable.introduction.example.basic_usage">
-			<title>Grundsätzliche Verwendung</title>
-
-			<para>
-				Wie bereits in der Einführung beschrieben benötigt der
-				<classname>Zend_Auth_Adapter_DbTable</classname>
-				Konstruktor eine Instanz von
-				<classname>Zend_Db_Adapter_Abstract</classname>
-				die als Datenbank Verbindung
-				fungiert zu welcher die Instanz des Authentifizierungs-Adapters gebunden
-				ist. Zuerst
-				sollte die Datenbankverbindung erstellt werden.
-			</para>
-
-			<para>
-				Der folgende Code erstellt einen Adapter für eine In-Memory
-				Datenbank, erstellt ein
-				einfaches Datenbankschema, und fügt eine Zeile ein gegen die später eine
-				Authentifizierungs-Abfrage durchgeführt werden kann. Dieses Beispiel
-				benötigt die
-				<acronym>PDO</acronym>
-				SQLite Erweiterung:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        <para>
+            Die vorhandenen Konfigurationsoptionen beinhalten:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis><property>tableName</property></emphasis>: Das ist der Name der
+                    Datenbanktabelle welche die Authentifikations Zeugnisse enthält, und gegen die
+                    jene Datenbank Authentifikations Abfrage durchgeführt wird.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><property>identityColumn</property></emphasis>: Ist der Name der
+                    Spalte der Datenbanktabelle welche die Identität repräsentiert. Die Spalte der
+                    Identität muß eindeutige und einmalige Werte enthalten, wie einen Benutzernamen
+                    oder eine Email Adresse.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><property>credentialColumn</property></emphasis>: Das ist der Name
+                    der Spalte der Datenbanktabelle die verwendet wird um die Zeugnisse zu
+                    repräsentieren. Bei einem einfachen Identitäts und Passwort-Authentifizierungs
+                    Schema korrespondieren die Zeugnisse mit dem Passwort. Siehe auch die
+                    <property>credentialTreatment</property> Option.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><property>credentialTreatment</property></emphasis>: In vielen Fällen
+                    sind Passwörter und andere sensitive Daten verschlüsselt, gehasht, kodiert,
+                    gesalted, verschleiert oder auf andere Weise durch irgendeine Funktion oder
+                    einen Algorithmus behandelt. Durch die Spezifikation eines parametrisierbaren
+                    Behandlungsstrings mit dieser Methode, wie '<methodname>MD5(?)</methodname>'
+                    oder '<methodname>PASSWORD(?)</methodname>', könnte ein Entwickler beliebiges
+                    <acronym>SQL</acronym> an den Eingabe- Zeugnis-Daten anwenden. Da diese
+                    Funktionen der darunter liegenden <acronym>RDBMS</acronym> speziell gehören,
+                    sollte das Handbuch der Datenbank auf das Vorhandensein solcher Funktionen im
+                    eigenen Datenbank System geprüft werden.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <example id="zend.auth.adapter.dbtable.introduction.example.basic_usage">
+            <title>Grundsätzliche Verwendung</title>
+
+            <para>
+                Wie bereits in der Einführung beschrieben benötigt der
+                <classname>Zend_Auth_Adapter_DbTable</classname> Konstruktor eine Instanz von
+                <classname>Zend_Db_Adapter_Abstract</classname> die als Datenbank Verbindung
+                fungiert zu welcher die Instanz des Authentifizierungs-Adapters gebunden ist. Zuerst
+                sollte die Datenbankverbindung erstellt werden.
+            </para>
+
+            <para>
+                Der folgende Code erstellt einen Adapter für eine In-Memory Datenbank, erstellt ein
+                einfaches Datenbankschema, und fügt eine Zeile ein gegen die später eine
+                Authentifizierungs-Abfrage durchgeführt werden kann. Dieses Beispiel benötigt die
+                <acronym>PDO</acronym> SQLite Erweiterung:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 // Erstellt eine In-Memory SQLite Datenbankverbindung
 $dbAdapter = new Zend_Db_Adapter_Pdo_Sqlite(array('dbname' =>
                                                   ':memory:'));
@@ -145,16 +107,14 @@ $sqlInsert = "INSERT INTO users (username, password, real_name) "
 $dbAdapter->query($sqlInsert);
 ]]></programlisting>
 
-			<para>
-				Mit der Datenbankverbindung und den vorhandenen Tabellendaten, kann
-				eine Instanz von
-				<classname>Zend_Auth_Adapter_DbTable</classname>
-				erstellt werden. Die Werte der
-				Konfigurationsoptionen können dem Konstruktor übergeben werden, oder als Parameter
-				der setzenden Methoden nach der Instanziierung:
-			</para>
+            <para>
+                Mit der Datenbankverbindung und den vorhandenen Tabellendaten, kann eine Instanz von
+                <classname>Zend_Auth_Adapter_DbTable</classname> erstellt werden. Die Werte der
+                Konfigurationsoptionen können dem Konstruktor übergeben werden, oder als Parameter
+                der setzenden Methoden nach der Instanziierung:
+            </para>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 // Die Instanz mit Konstruktor Parametern konfiurieren...
 $authAdapter = new Zend_Auth_Adapter_DbTable(
     $dbAdapter,
@@ -171,16 +131,14 @@ $authAdapter
     ->setCredentialColumn('password');
 ]]></programlisting>
 
-			<para>
-				An diesem Punkt ist die Instanz des Authentifizierungsadapters
-				bereit um
-				Authentifierungsabfragen zu akzeptieren. Um eine Authentifierungsabfrage zu
-				formulieren, werden die Eingabezeugnis Werte dem Adapter vor dem Aufruf der
-				<methodname>authenticate()</methodname>
-				Methode, übergeben:
-			</para>
+            <para>
+                An diesem Punkt ist die Instanz des Authentifizierungsadapters bereit um
+                Authentifierungsabfragen zu akzeptieren. Um eine Authentifierungsabfrage zu
+                formulieren, werden die Eingabezeugnis Werte dem Adapter vor dem Aufruf der
+                <methodname>authenticate()</methodname> Methode, übergeben:
+            </para>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 // Die Eingabezeugnis Werte setzen (z.B. von einem Login Formular)
 $authAdapter
     ->setIdentity('my_username')
@@ -190,17 +148,14 @@ $authAdapter
 $result = $authAdapter->authenticate();
 ]]></programlisting>
 
-			<para>
-				Zusätzlich zum Vorhandensein der
-				<methodname>getIdentity()</methodname>
-				Methode
-				über das Authentifizierungs Ergebnisobjekt, unterstützt
-				<classname>Zend_Auth_Adapter_DbTable</classname>
-				auch das empfangen der
-				Tabellenzeile wenn die Authentifizierung erfolgeich war:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+            <para>
+                Zusätzlich zum Vorhandensein der <methodname>getIdentity()</methodname> Methode
+                über das Authentifizierungs Ergebnisobjekt, unterstützt
+                <classname>Zend_Auth_Adapter_DbTable</classname> auch das empfangen der
+                Tabellenzeile wenn die Authentifizierung erfolgeich war:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 // Die Identität ausgeben
 echo $result->getIdentity() . "\n\n";
 
@@ -220,36 +175,28 @@ Array
 */
 ]]></programlisting>
 
-			<para>
-				Da die Zeile der Tabelle die Zeugnis Daten enthält ist es wichtig
-				diese Werte
-				gegenüber unberechtigten Versuchen abzusichern.
+            <para>
+                Da die Zeile der Tabelle die Zeugnis Daten enthält ist es wichtig diese Werte
+                gegenüber unberechtigten Versuchen abzusichern.
             </para>
-		</example>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.dbtable.advanced.storing_result_row">
-		<title>Fortgeschrittene Verwendung: Ein DbTable Ergebnis Objekt
-			dauerhaft machen</title>
-
-		<para>
-			Standardmäßig gibt
-			<classname>Zend_Auth_Adapter_DbTable</classname>
-			die unterstützte
-			Identität an das Auth Objekt bei erfolgreicher Authentifizierung zurück. Ein
-			anderes
-			Verwendungs-Szenario, bei dem Entwickler ein Identitäts Objekt, welches andere nützliche
-			Informationen enthält, in den dauerhaften Speichermechanismus von
-			<classname>Zend_Auth</classname>
-			abspeichern wollen, wird durch die Verwendung der
-			<methodname>getResultRowObject()</methodname>
-			Methode gelöst die ein
-			<emphasis>stdClass</emphasis>
-			Objekt zurück gibt. Der folgende Code Abschnitt zeigt
-			diese Verwendung:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        </example>
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.dbtable.advanced.storing_result_row">
+        <title>Fortgeschrittene Verwendung: Ein DbTable Ergebnis Objekt dauerhaft machen</title>
+
+        <para>
+            Standardmäßig gibt <classname>Zend_Auth_Adapter_DbTable</classname> die unterstützte
+            Identität an das Auth Objekt bei erfolgreicher Authentifizierung zurück. Ein anderes
+            Verwendungs-Szenario, bei dem Entwickler ein Identitäts Objekt, welches andere nützliche
+            Informationen enthält, in den dauerhaften Speichermechanismus von
+            <classname>Zend_Auth</classname> abspeichern wollen, wird durch die Verwendung der
+            <methodname>getResultRowObject()</methodname> Methode gelöst die ein
+            <emphasis>stdClass</emphasis> Objekt zurück gibt. Der folgende Code Abschnitt zeigt
+            diese Verwendung:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Mit Zend_Auth_Adapter_DbTable authentifizieren
 $result = $this->_auth->authenticate($adapter);
 
@@ -278,39 +225,28 @@ if ($result->isValid()) {
 
 }
 ]]></programlisting>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.dbtable.advanced.advanced_usage">
-		<title>Fortgeschrittene Verwendung durch Beispiele</title>
-
-		<para>
-			Wärend der primäre Zweck von
-			<classname>Zend_Auth</classname>
-			(und konsequenter Weise
-			<classname>Zend_Auth_Adapter_DbTable</classname>
-			) die
-			<emphasis>Authentifizierung</emphasis>
-			und nicht die
-			<emphasis>Authorisierung</emphasis>
-			ist, gibt es ein paar Instanzen und Probleme auf dem Weg welche Art
-			besser passt.
-			Abhängig davon wie man sich entscheidet ein Problem zu beschreiben, macht es
-			manchmal
-			Sinn, das was wie ein Authorisierungsproblem aussieht im
-			Authentifizierungs-Adapter zu
-			lösen.
-		</para>
-
-		<para>
-			Mit dieser Definition, hat
-			<classname>Zend_Auth_Adapter_DbTable</classname>
-			einige
-			eingebaute Mechanismen die für zusätzliche Checks während der
-			Authentifizierungszeit
-			angepasst werden können, um einige übliche Benutzerprobleme zu lösen.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.dbtable.advanced.advanced_usage">
+        <title>Fortgeschrittene Verwendung durch Beispiele</title>
+
+        <para>
+            Wärend der primäre Zweck von <classname>Zend_Auth</classname> (und konsequenter Weise
+            <classname>Zend_Auth_Adapter_DbTable</classname>) die
+            <emphasis>Authentifizierung</emphasis> und nicht die <emphasis>Authorisierung</emphasis>
+            ist, gibt es ein paar Instanzen und Probleme auf dem Weg welche Art besser passt.
+            Abhängig davon wie man sich entscheidet ein Problem zu beschreiben, macht es manchmal
+            Sinn, das was wie ein Authorisierungsproblem aussieht im Authentifizierungs-Adapter zu
+            lösen.
+        </para>
+
+        <para>
+            Mit dieser Definition, hat <classname>Zend_Auth_Adapter_DbTable</classname> einige
+            eingebaute Mechanismen die für zusätzliche Checks während der Authentifizierungszeit
+            angepasst werden können, um einige übliche Benutzerprobleme zu lösen.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Der Feldwert des Status eines Accounts ist nicht gleich "compromised"
 $adapter = new Zend_Auth_Adapter_DbTable(
     $db,
@@ -330,25 +266,19 @@ $adapter = new Zend_Auth_Adapter_DbTable(
 );
 ]]></programlisting>
 
-		<para>
-			Ein anderes Szenario kann die Implementierung eines Saltingmachanismus
-			sein. Salting
-			ist ein Ausdruck der auf eine Technik verweist welche die Sicherheit der
-			Anwendung sehr
-			stark erhöht. Sie basiert auf der Idee dass das Anfügen von zufälligen
-			Strings bei jedem
-			Passwort es unmöglich macht eine erfolgreiche Brute-Force Attacke auf die
-			Datenbank
-			durchzuführen bei der vorberechnete Hashwerte aus einem Verzeichnis genommen
-			werden.
+        <para>
+            Ein anderes Szenario kann die Implementierung eines Saltingmachanismus sein. Salting
+            ist ein Ausdruck der auf eine Technik verweist welche die Sicherheit der Anwendung sehr
+            stark erhöht. Sie basiert auf der Idee dass das Anfügen von zufälligen Strings bei jedem
+            Passwort es unmöglich macht eine erfolgreiche Brute-Force Attacke auf die Datenbank
+            durchzuführen bei der vorberechnete Hashwerte aus einem Verzeichnis genommen werden.
         </para>
 
-		<para>
-			Hierfür muß die Tabelle so modifiziert werden das Sie unseren Salt-String
-			enthält:
+        <para>
+            Hierfür muß die Tabelle so modifiziert werden das Sie unseren Salt-String enthält:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $sqlAlter = "ALTER TABLE [users] "
           . "ADD COLUMN [password_salt] "
           . "AFTER [password]";
@@ -356,23 +286,22 @@ $sqlAlter = "ALTER TABLE [users] "
 $dbAdapter->query($sqlAlter);
 ]]></programlisting>
 
-		<para>
-			Hier ist ein einfacher Weg um einen Salt String für jeden Benutzer bei
-			der Registrierung
-			zu erstellen:
+        <para>
+            Hier ist ein einfacher Weg um einen Salt String für jeden Benutzer bei der Registrierung
+            zu erstellen:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 for ($i = 0; $i < 50; $i++) {
     $dynamicSalt .= chr(rand(33, 126));
 }
 ]]></programlisting>
 
-		<para>
-			Und nun erstellen wir den Adapter:
+        <para>
+            Und nun erstellen wir den Adapter:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $adapter = new Zend_Auth_Adapter_DbTable(
     $db,
     'users',
@@ -384,51 +313,35 @@ $adapter = new Zend_Auth_Adapter_DbTable(
 );
 ]]></programlisting>
 
-		<note>
-			<para>
-				Die Sicherheit kann sogar noch mehr erhöht werden indem ein
-				statischer Salt Wert
-				hardcoded in der Anwendung verwendet wird. Im Falle das die Datenbank
-				korrumpiert
-				wird (z.B. durch eine
-				<acronym>SQL</acronym>
-				Injection Attacke) aber der Webserver
-				intakt bleibt sind die Daten für den Angreifer noch immer nicht
-				verwendbar.
-			</para>
-		</note>
-
-		<para>
-			Eine andere Alternative besteht darin die
-			<methodname>getDbSelect()</methodname>
-			Methode von
-			<classname>Zend_Auth_Adapter_DbTable</classname>
-			zu verwenden nachdem der
-			Adapter erstellt wurde. Diese Methode gibt die Instanz des
-			<classname>Zend_Db_Select</classname>
-			Objekts zurück welches verwendet wird um die
-			<methodname>authenticate()</methodname>
-			Methode zu komplettieren. Es ist wichtig
-			anzumerken das diese Methode immer das gleiche Objekt zurückgibt unabhängig
-			davon ob
-			<methodname>authenticate()</methodname>
-			aufgerufen wurde oder nicht. Diese Objekt
-			<emphasis>enthält keine</emphasis>
-			Identity oder Anmeldeinformationen in sich da diese
-			Werte im Select Objekt während des Ausführens von
-			<methodname>authenticate()</methodname>
-			platziert werden.
-		</para>
-
-		<para>
-			Als Beispiel einer Situation könnte man die
-			<methodname>getDbSelect()</methodname>
-			Methode verwenden um den Status eines Benutzers zu prüfen, in anderen
-			Worten sehen ob
-			der Account des Benutzers aktiviert ist.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <note>
+            <para>
+                Die Sicherheit kann sogar noch mehr erhöht werden indem ein statischer Salt Wert
+                hardcoded in der Anwendung verwendet wird. Im Falle das die Datenbank korrumpiert
+                wird (z.B. durch eine <acronym>SQL</acronym> Injection Attacke) aber der Webserver
+                intakt bleibt sind die Daten für den Angreifer noch immer nicht verwendbar.
+            </para>
+        </note>
+
+        <para>
+            Eine andere Alternative besteht darin die <methodname>getDbSelect()</methodname>
+            Methode von <classname>Zend_Auth_Adapter_DbTable</classname> zu verwenden nachdem der
+            Adapter erstellt wurde. Diese Methode gibt die Instanz des
+            <classname>Zend_Db_Select</classname> Objekts zurück welches verwendet wird um die
+            <methodname>authenticate()</methodname> Methode zu komplettieren. Es ist wichtig
+            anzumerken das diese Methode immer das gleiche Objekt zurückgibt unabhängig davon ob
+            <methodname>authenticate()</methodname> aufgerufen wurde oder nicht. Diese Objekt
+            <emphasis>enthält keine</emphasis> Identity oder Anmeldeinformationen in sich da diese
+            Werte im Select Objekt während des Ausführens von
+            <methodname>authenticate()</methodname> platziert werden.
+        </para>
+
+        <para>
+            Als Beispiel einer Situation könnte man die <methodname>getDbSelect()</methodname>
+            Methode verwenden um den Status eines Benutzers zu prüfen, in anderen Worten sehen ob
+            der Account des Benutzers aktiviert ist.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Das Beispiel von oben weiterführen
 $adapter = new Zend_Auth_Adapter_DbTable(
     $db,
@@ -445,5 +358,5 @@ $select->where('active = "TRUE"');
 // Authentifizieren, das stellt sicher das users.active = TRUE
 $adapter->authenticate();
 ]]></programlisting>
-	</sect2>
+    </sect2>
 </sect1>

+ 95 - 120
documentation/manual/de/module_specs/Zend_Auth_Adapter_Digest.xml

@@ -2,136 +2,111 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.auth.adapter.digest">
-	<title>Digest Authentication</title>
-
-	<sect2 id="zend.auth.adapter.digest.introduction">
-		<title>Einführung</title>
-
-		<para>
-			<ulink url="http://en.wikipedia.org/wiki/Digest_access_authentication">Digest
-				Authentifizierung</ulink>
-			ist eine Methode der
-			<acronym>HTTP</acronym>
-			Authentifizierung welche die
-			<ulink url="http://en.wikipedia.org/wiki/Basic_authentication_scheme">Basis
-				Authentifizierung</ulink>
-			verbessert indem ein Weg angeboten wird um
-			Authentifizierungen, ohne die Übermittlung des Passwortes als Klartext über das
-			Netzwerk, durchzuführen.
-		</para>
-
-		<para>
-			Dieser Adapter erlaubt Authentifizierungen gegen Textdateien die Zeilen
-			enthalten die
-			folgende Basiselemente der Digest Authentifizierung enthalten:
+    <title>Digest Authentication</title>
+
+    <sect2 id="zend.auth.adapter.digest.introduction">
+        <title>Einführung</title>
+
+        <para>
+            <ulink url="http://en.wikipedia.org/wiki/Digest_access_authentication">Digest
+                Authentifizierung</ulink> ist eine Methode der <acronym>HTTP</acronym>
+            Authentifizierung welche die <ulink
+                url="http://en.wikipedia.org/wiki/Basic_authentication_scheme">Basis
+                Authentifizierung</ulink> verbessert indem ein Weg angeboten wird um
+            Authentifizierungen, ohne die Übermittlung des Passwortes als Klartext über das
+            Netzwerk, durchzuführen.
         </para>
 
-		<itemizedlist>
-			<listitem>
-				<para>
-					Benutzername, wie z.B. "
-					<emphasis>
-						<filename>joe.user</filename>
-					</emphasis>
-					"
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Bereich, wie z.B. "
-					<emphasis>Administrativer Bereich</emphasis>
-					"
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<acronym>MD5</acronym>
-					Hash von Benutzername, Bereich und Passwort, getrennt
-					durch Doppelpunkte
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Die obigen Elemente werden durch Doppelpunkte getrennt, wie im
-			folgenden Beispiel (in
-			dem das Passwort "
-			<emphasis>irgendeinPasswort</emphasis>
-			" ist):
-		</para>
-
-		<programlisting language="txt"><![CDATA[
+        <para>
+            Dieser Adapter erlaubt Authentifizierungen gegen Textdateien die Zeilen enthalten die
+            folgende Basiselemente der Digest Authentifizierung enthalten:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    Benutzername, wie z.B. "<emphasis><filename>joe.user</filename></emphasis>"
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Bereich, wie z.B. "<emphasis>Administrativer Bereich</emphasis>"
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <acronym>MD5</acronym> Hash von Benutzername, Bereich und Passwort, getrennt
+                    durch Doppelpunkte
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Die obigen Elemente werden durch Doppelpunkte getrennt, wie im folgenden Beispiel (in
+            dem das Passwort "<emphasis>irgendeinPasswort</emphasis>" ist):
+        </para>
+
+        <programlisting language="txt"><![CDATA[
 irgendeinBenutzer:Irgendein Bereich:fde17b91c3a510ecbaf7dbd37f59d4f8
 ]]></programlisting>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.digest.specifics">
-		<title>Spezifisches</title>
-
-		<para>
-			Der Digest Authentifizierungs Adapter,
-			<classname>Zend_Auth_Adapter_Digest</classname>
-			,
-			benötigt verschiedene Eingabeparameter:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					filename - Der Dateiename gegen den Authentifizierungs-Anfragen
-					durchgeführt
-					werden
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.digest.specifics">
+        <title>Spezifisches</title>
+
+        <para>
+            Der Digest Authentifizierungs Adapter, <classname>Zend_Auth_Adapter_Digest</classname>,
+            benötigt verschiedene Eingabeparameter:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    filename - Der Dateiename gegen den Authentifizierungs-Anfragen durchgeführt
+                    werden
                 </para>
-			</listitem>
+            </listitem>
 
-			<listitem>
-				<para>
-					realm - Digest Authentifizierungs Bereich
+            <listitem>
+                <para>
+                    realm - Digest Authentifizierungs Bereich
                 </para>
-			</listitem>
+            </listitem>
 
-			<listitem>
-				<para>
-					username - Digest Authentifizierungs Benutzer
+            <listitem>
+                <para>
+                    username - Digest Authentifizierungs Benutzer
                 </para>
-			</listitem>
+            </listitem>
 
-			<listitem>
-				<para>
-					password - Passwort für den Benutzer des Bereichs
+            <listitem>
+                <para>
+                    password - Passwort für den Benutzer des Bereichs
                 </para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Diese Parameter müssen vor dem Aufruf von
-			<methodname>authenticate()</methodname>
-			gesetzt werden.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.digest.identity">
-		<title>Identität</title>
-
-		<para>
-			Der Digest Authentifizierungs Adapter gibt ein
-			<classname>Zend_Auth_Result</classname>
-			Objekt zurück, welches mit der Identität wird wobei dieses als Arry
-			mit Schlüssel von
-			<emphasis>realm</emphasis>
-			und
-			<emphasis>username</emphasis>
-			veröffentlicht wird. Die
-			entsprechenden Array Werte welche diesen Schlüsseln zugeordnet sind korrespondieren
-			mit
-			den Werte die vorher durch den Aufruf von
-			<methodname>authenticate()</methodname>
-			gesetzt wurden.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Diese Parameter müssen vor dem Aufruf von <methodname>authenticate()</methodname>
+            gesetzt werden.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.digest.identity">
+        <title>Identität</title>
+
+        <para>
+            Der Digest Authentifizierungs Adapter gibt ein <classname>Zend_Auth_Result</classname>
+            Objekt zurück, welches mit der Identität wird wobei dieses als Arry mit Schlüssel von
+            <emphasis>realm</emphasis> und <emphasis>username</emphasis> veröffentlicht wird. Die
+            entsprechenden Array Werte welche diesen Schlüsseln zugeordnet sind korrespondieren mit
+            den Werte die vorher durch den Aufruf von <methodname>authenticate()</methodname>
+            gesetzt wurden.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $adapter = new Zend_Auth_Adapter_Digest($filename,
                                         $realm,
                                         $username,
@@ -151,5 +126,5 @@ Array
 )
 */
 ]]></programlisting>
-	</sect2>
+    </sect2>
 </sect1>

+ 257 - 349
documentation/manual/de/module_specs/Zend_Auth_Adapter_Http.xml

@@ -2,351 +2,272 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.auth.adapter.http">
-	<title>HTTP Authentication Adapter</title>
-
-	<sect2 id="zend.auth.adapter.http.introduction">
-		<title>Einführung</title>
-
-		<para>
-			<classname>Zend_Auth_Adapter_Http</classname>
-			bietet die am meisten entsprechende
-			Implementation von
-			<ulink url="http://tools.ietf.org/html/rfc2617">RFC-2617</ulink>
-			,
-			<ulink url="http://en.wikipedia.org/wiki/Basic_authentication_scheme">Basis</ulink>
-			und
-			<ulink url="http://en.wikipedia.org/wiki/Digest_access_authentication">Digest</ulink>
-			<acronym>HTTP</acronym>
-			Authentifizierung. Digest Authentifizierung ist eine Methode der
-			<acronym>HTTP</acronym>
-			Authentifikation welche die Basis Authentifizierung erweitert
-			indem ein Weg angeboten wird um sich zu Authentifizieren ohne dass das
-			Passwort im
-			Klartext über das Netzwerk geschickt werden muß.
-		</para>
-
-		<para>
-			<emphasis>Hauptsächliche Features:</emphasis>
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					Unterstützt sowohl Basis als auch Digest Authentifizierung.
+    <title>HTTP Authentication Adapter</title>
+
+    <sect2 id="zend.auth.adapter.http.introduction">
+        <title>Einführung</title>
+
+        <para>
+            <classname>Zend_Auth_Adapter_Http</classname> bietet die am meisten entsprechende
+            Implementation von <ulink url="http://tools.ietf.org/html/rfc2617">RFC-2617</ulink>,
+            <ulink url="http://en.wikipedia.org/wiki/Basic_authentication_scheme">Basis</ulink> und
+            <ulink url="http://en.wikipedia.org/wiki/Digest_access_authentication">Digest</ulink>
+            <acronym>HTTP</acronym> Authentifizierung. Digest Authentifizierung ist eine Methode der
+            <acronym>HTTP</acronym> Authentifikation welche die Basis Authentifizierung erweitert
+            indem ein Weg angeboten wird um sich zu Authentifizieren ohne dass das Passwort im
+            Klartext über das Netzwerk geschickt werden muß.
+        </para>
+
+        <para>
+            <emphasis>Hauptsächliche Features:</emphasis>
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    Unterstützt sowohl Basis als auch Digest Authentifizierung.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Enthält Aufrufe für alle unterstützten Schemas, damit Klienten mit jedem
+                    unterstützten Schema arbeiten können.
                 </para>
-			</listitem>
+            </listitem>
 
-			<listitem>
-				<para>
-					Enthält Aufrufe für alle unterstützten Schemas, damit Klienten mit jedem
-					unterstützten Schema arbeiten können.
+            <listitem>
+                <para>
+                    Bietet Proxy Authentifizierung.
                 </para>
-			</listitem>
+            </listitem>
 
-			<listitem>
-				<para>
-					Bietet Proxy Authentifizierung.
+            <listitem>
+                <para>
+                    Enthält Unterstützung für die Authentifizierung gegenüber Textdateien und
+                    bietet ein Interface für die Authentifizierung gegenüber anderen Quellen,
+                    wie z.B. Datenbanken.
                 </para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Enthält Unterstützung für die Authentifizierung gegenüber Textdateien und
-					bietet ein Interface für die Authentifizierung gegenüber anderen
-					Quellen,
-					wie z.B. Datenbanken.
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt ein paar nennenswerte Features von <acronym>RFC-2617</acronym> die bis jetzt
+            nicht implementiert wurden:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    Einstweilige Verfolgung, welche "stale" Support erlaubt und die
+                    Unterstützung bei wiederholenden Attacken erhöht.
                 </para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt ein paar nennenswerte Features von
-			<acronym>RFC-2617</acronym>
-			die bis jetzt
-			nicht implementiert wurden:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					Einstweilige Verfolgung, welche "stale" Support erlaubt und die
-					Unterstützung bei wiederholenden Attacken erhöht.
+            </listitem>
+
+            <listitem>
+                <para>
+                    Authentifizierung mit Integritäts-Prüfung, oder "auth-int".
                 </para>
-			</listitem>
+            </listitem>
 
-			<listitem>
-				<para>
-					Authentifizierung mit Integritäts-Prüfung, oder "auth-int".
+            <listitem>
+                <para>
+                    Authentifizierungs-Info <acronym>HTTP</acronym> Header.
                 </para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Authentifizierungs-Info
-					<acronym>HTTP</acronym>
-					Header.
-				</para>
-			</listitem>
-		</itemizedlist>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.design_overview">
-		<title>Design Übersicht</title>
-
-		<para>
-			Dieser Adapter besteht aus zwei Sub-Komponenten, die
-			<acronym>HTTP</acronym>
-			Authentifizierungs Klasse selbst, und den sogenannten "Auflöser". Die
-			<acronym>HTTP</acronym>
-			Authentifizierungs Klasse kapselt die Logik für die
-			Ausführung beider, sowohl der Basis als auch der Digest Authentifizierung. Sie
-			verwendet einen Auflöser um die Identität eines Klienten in
-			Datenspeichern nachzusehen
-			(standardmäßig eine Textdatei), und die Zeugnisse vom Datenspeicher zu empfangen.
-			Die
-			"aufgelösten" Zeugnisse werden dann mit den Werten verglichen die vom Klienten
-			übermittelt wurden um zu eruieren ob die Authentifizierung
-			erfolgreich war.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.configuration_options">
-		<title>Konfigurations Optionen</title>
-
-		<para>
-			Die
-			<classname>Zend_Auth_Adapter_Http</classname>
-			Klasse benötigt ein Konfigurations
-			Array das Ihrem Konstruktor übergeben werden muß. Es sind verschiedene
-			Konfigurations
-			Optionen vorhanden, und einige davon werden benötigt:
-		</para>
-
-		<table id="zend.auth.adapter.configuration_options.table">
-			<title>Konfigurations Optionen</title>
-
-			<tgroup cols="3">
-				<thead>
-					<row>
-						<entry>Options Name</entry>
-						<entry>Benötigt</entry>
-						<entry>Beschreibung</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>
-							<emphasis>
-								<property>accept_schemes</property>
-							</emphasis>
-						</entry>
-						<entry>Ja</entry>
-
-						<entry>
-							Ermittelt welches Authentifizierungs Schema der Adapter vom
-							Klienten akzeptiert. Muß eine Leerzeichen-getrennte Liste sein,
-							die
-							<emphasis>'basic'</emphasis>
-							und, oder
-							<emphasis>'digest'</emphasis>
-							enthält.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>realm</property>
-							</emphasis>
-						</entry>
-						<entry>Ja</entry>
-
-						<entry>
-							Setzt das Authentifizierungs-Bereich; Benutzernamen sollten im
-							angegebenen Bereich einmalig sein.
+            </listitem>
+        </itemizedlist>
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.design_overview">
+        <title>Design Übersicht</title>
+
+        <para>
+            Dieser Adapter besteht aus zwei Sub-Komponenten, die <acronym>HTTP</acronym>
+            Authentifizierungs Klasse selbst, und den sogenannten "Auflöser". Die
+            <acronym>HTTP</acronym> Authentifizierungs Klasse kapselt die Logik für die
+            Ausführung beider, sowohl der Basis als auch der Digest Authentifizierung. Sie
+            verwendet einen Auflöser um die Identität eines Klienten in Datenspeichern nachzusehen
+            (standardmäßig eine Textdatei), und die Zeugnisse vom Datenspeicher zu empfangen. Die
+            "aufgelösten" Zeugnisse werden dann mit den Werten verglichen die vom Klienten
+            übermittelt wurden um zu eruieren ob die Authentifizierung erfolgreich war.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.configuration_options">
+        <title>Konfigurations Optionen</title>
+
+        <para>
+            Die <classname>Zend_Auth_Adapter_Http</classname> Klasse benötigt ein Konfigurations
+            Array das Ihrem Konstruktor übergeben werden muß. Es sind verschiedene Konfigurations
+            Optionen vorhanden, und einige davon werden benötigt:
+        </para>
+
+        <table id="zend.auth.adapter.configuration_options.table">
+            <title>Konfigurations Optionen</title>
+
+            <tgroup cols="3">
+                <thead>
+                    <row>
+                        <entry>Options Name</entry>
+                        <entry>Benötigt</entry>
+                        <entry>Beschreibung</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis><property>accept_schemes</property></emphasis></entry>
+                        <entry>Ja</entry>
+
+                        <entry>
+                            Ermittelt welches Authentifizierungs Schema der Adapter vom
+                            Klienten akzeptiert. Muß eine Leerzeichen-getrennte Liste sein, die
+                            <emphasis>'basic'</emphasis> und, oder <emphasis>'digest'</emphasis>
+                            enthält.
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>digest_domains</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Ja, wenn
-							<property>accept_schemes</property>
-							<emphasis>digest</emphasis>
-							enthält
-						</entry>
-
-						<entry>
-							Leerzeichen-getrennte Liste von
-							<acronym>URI</acronym>
-							s für welche die
-							gleichen Authentifizierungs Informationen gültig sind. Die
-							<acronym>URI</acronym>
-							s müssen nicht alle auf den gleichen Server
-							zeigen.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>nonce_timeout</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Ja, wenn
-							<property>accept_schemes</property>
-							<emphasis>digest</emphasis>
-							enthält
-						</entry>
-
-						<entry>
-							Setzt die Anzahl an Sekunden für welche die Verfolgung gültig ist.
-							Siehe die Notizen anbei.
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>realm</property></emphasis></entry>
+                        <entry>Ja</entry>
+
+                        <entry>
+                            Setzt das Authentifizierungs-Bereich; Benutzernamen sollten im
+                            angegebenen Bereich einmalig sein.
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>proxy_auth</property>
-							</emphasis>
-						</entry>
-						<entry>Nein</entry>
-
-						<entry>
-							Standardmäßig ausgeschaltet. Einschalten um Proxi Authentifizierung
-							durchzuführen statt normaler originaler Server Authentifizierung.
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>digest_domains</property></emphasis></entry>
+
+                        <entry>
+                            Ja, wenn <property>accept_schemes</property>
+                            <emphasis>digest</emphasis> enthält
+                        </entry>
+
+                        <entry>
+                            Leerzeichen-getrennte Liste von <acronym>URI</acronym>s für welche die
+                            gleichen Authentifizierungs Informationen gültig sind. Die
+                            <acronym>URI</acronym>s müssen nicht alle auf den gleichen Server
+                            zeigen.
                         </entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-
-		<note>
-			<para>
-				Die aktuelle Implementation von
-				<property>nonce_timeout</property>
-				hat einige
-				interessante Nebeneffekte. Diese Einstellung soll die gültige Lebenszeit einer
-				gegebenen Verfolgung ermitteln, oder effektiv, wie lange die
-				Authentifizierungs
-				Information eines Klienten akzeptiert wird. Aktuell ist es auf 3600 (zum
-				Beispiel)
-				gesetzt, und führt dazu das der Klient jede Stunde um neue Zeugnisse gebeten
-				wird.
-				Das wird in einem zukünftigen Release behoben werden, sobald Verfolgung
-				und "stale"
-				Support implementiert werden.
-			</para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.http.resolvers">
-		<title>Auflöser</title>
-
-		<para>
-			Der Job des Auflösers ist es einen Benutzernamen und einen Bereich,
-			und gibt eine Art
-			von Zeugnisswert zurück. Basis Authentifizierung erwartet einen Hash des
-			Benutzernamens,
-			des Bereichs, und dessen Passwörter (jedes seperiert durch ein Komma).
-			Aktuell ist der
-			einzige unterstützte Hash Algorithmus
-			<acronym>MD5</acronym>
-			.
-		</para>
-
-		<para>
-			<classname>Zend_Auth_Adapter_Http</classname>
-			ist darauf angewiesen das Objekte
-			<classname>Zend_Auth_Adapter_Http_Resolver_Interface</classname>
-			implementieren. Eine
-			Textdatei Auflöser Klasse ist mit diesem Adapter inkludiert, aber jede Art von
-			Auflöser
-			kann einfach erstellt werden indem das Resolver Interface implementiert
-			wird.
-		</para>
-
-		<sect3 id="zend.auth.adapter.http.resolvers.file">
-			<title>Datei Auflöser</title>
-
-			<para>
-				Der Datei Auflöser ist eine sehr einfache Klasse. Sie hat eine
-				einzelne Eigenschaft
-				die einen Dateinamen spezifiziert, welcher auch dem Konstruktor
-				übergeben werden
-				kann. Ihre
-				<methodname>resolve()</methodname>
-				Methode geht durch die Textdatei, und
-				sucht nach einer Zeile mit einem entsprechenden Benutzernamen und
-				Bereich. Das
-				Format der Textdatei ist ähnlich dem von Apache htpasswd Dateien:
-			</para>
-
-			<programlisting language="txt"><![CDATA[
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>nonce_timeout</property></emphasis></entry>
+
+                        <entry>
+                            Ja, wenn <property>accept_schemes</property>
+                            <emphasis>digest</emphasis> enthält
+                        </entry>
+
+                        <entry>
+                            Setzt die Anzahl an Sekunden für welche die Verfolgung gültig ist.
+                            Siehe die Notizen anbei.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>proxy_auth</property></emphasis></entry>
+                        <entry>Nein</entry>
+
+                        <entry>
+                            Standardmäßig ausgeschaltet. Einschalten um Proxi Authentifizierung
+                            durchzuführen statt normaler originaler Server Authentifizierung.
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <note>
+            <para>
+                Die aktuelle Implementation von <property>nonce_timeout</property> hat einige
+                interessante Nebeneffekte. Diese Einstellung soll die gültige Lebenszeit einer
+                gegebenen Verfolgung ermitteln, oder effektiv, wie lange die Authentifizierungs
+                Information eines Klienten akzeptiert wird. Aktuell ist es auf 3600 (zum Beispiel)
+                gesetzt, und führt dazu das der Klient jede Stunde um neue Zeugnisse gebeten wird.
+                Das wird in einem zukünftigen Release behoben werden, sobald Verfolgung und "stale"
+                Support implementiert werden.
+            </para>
+        </note>
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.http.resolvers">
+        <title>Auflöser</title>
+
+        <para>
+            Der Job des Auflösers ist es einen Benutzernamen und einen Bereich, und gibt eine Art
+            von Zeugnisswert zurück. Basis Authentifizierung erwartet einen Hash des Benutzernamens,
+            des Bereichs, und dessen Passwörter (jedes seperiert durch ein Komma). Aktuell ist der
+            einzige unterstützte Hash Algorithmus <acronym>MD5</acronym>.
+        </para>
+
+        <para>
+            <classname>Zend_Auth_Adapter_Http</classname> ist darauf angewiesen das Objekte
+            <classname>Zend_Auth_Adapter_Http_Resolver_Interface</classname> implementieren. Eine
+            Textdatei Auflöser Klasse ist mit diesem Adapter inkludiert, aber jede Art von Auflöser
+            kann einfach erstellt werden indem das Resolver Interface implementiert wird.
+        </para>
+
+        <sect3 id="zend.auth.adapter.http.resolvers.file">
+            <title>Datei Auflöser</title>
+
+            <para>
+                Der Datei Auflöser ist eine sehr einfache Klasse. Sie hat eine einzelne Eigenschaft
+                die einen Dateinamen spezifiziert, welcher auch dem Konstruktor übergeben werden
+                kann. Ihre <methodname>resolve()</methodname> Methode geht durch die Textdatei, und
+                sucht nach einer Zeile mit einem entsprechenden Benutzernamen und Bereich. Das
+                Format der Textdatei ist ähnlich dem von Apache htpasswd Dateien:
+            </para>
+
+            <programlisting language="txt"><![CDATA[
 <benutzername>:<bereich>:<zeugnisse>\n
 ]]></programlisting>
 
-			<para>
-				Jede Zeile besteht aus drei Feldern - Benutzername, Bereich und
-				Zeugnisse - jede
-				abgeteilt durch einen Doppelpunkt. Das Zeugnis Feld ist für den Datei
-				Auflöser nicht
-				sichtbar; es gibt den Wert einfach, wie er ist, an den Aufrufer zurück.
-				Deswegen
-				kann dieses Dateiformat sowohl Basis als auch Digest Authentifizierung
-				behandeln. In
-				der Basis Authentifizierung sollte das Zeugnis Feld im Klartext stehen.
-				In der
-				Digest Authentifizierung sollte es der oben beschriebene
-				<acronym>MD5</acronym>
-				Hash
-				sein.
-			</para>
-
-			<para>
-				Es gibt zwei gleiche einfache Wege um einen Datei Auflöser zu
-				erstellen:
+            <para>
+                Jede Zeile besteht aus drei Feldern - Benutzername, Bereich und Zeugnisse - jede
+                abgeteilt durch einen Doppelpunkt. Das Zeugnis Feld ist für den Datei Auflöser nicht
+                sichtbar; es gibt den Wert einfach, wie er ist, an den Aufrufer zurück. Deswegen
+                kann dieses Dateiformat sowohl Basis als auch Digest Authentifizierung behandeln. In
+                der Basis Authentifizierung sollte das Zeugnis Feld im Klartext stehen. In der
+                Digest Authentifizierung sollte es der oben beschriebene <acronym>MD5</acronym> Hash
+                sein.
             </para>
 
-			<programlisting language="php"><![CDATA[
+            <para>
+                Es gibt zwei gleiche einfache Wege um einen Datei Auflöser zu erstellen:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 $path     = 'files/passwd.txt';
 $resolver = new Zend_Auth_Adapter_Http_Resolver_File($path);
 ]]></programlisting>
 
-			<para>
-				oder
+            <para>
+                oder
             </para>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $path     = 'files/passwd.txt';
 $resolver = new Zend_Auth_Adapter_Http_Resolver_File();
 $resolver->setFile($path);
 ]]></programlisting>
 
-			<para>
-				Wenn der angegebene Pfad leer oder nicht lesbar ist, wird eine Ausnahme
-				geworfen.
+            <para>
+                Wenn der angegebene Pfad leer oder nicht lesbar ist, wird eine Ausnahme geworfen.
             </para>
-		</sect3>
-	</sect2>
+        </sect3>
+    </sect2>
 
-	<sect2 id="zend.auth.adapter.http.basic_usage">
-		<title>Grundsätzliche Verwendung</title>
+    <sect2 id="zend.auth.adapter.http.basic_usage">
+        <title>Grundsätzliche Verwendung</title>
 
-		<para>
-			Zuerst muß ein Array mit den benötigen Konfigurationswerten gesetzt werden:
+        <para>
+            Zuerst muß ein Array mit den benötigen Konfigurationswerten gesetzt werden:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $config = array(
     'accept_schemes' => 'basic digest',
     'realm'          => 'My Web Site',
@@ -355,41 +276,30 @@ $config = array(
 );
 ]]></programlisting>
 
-		<para>
-			Dieses Array bringt den Adapter dazu entwedet Basis oder Digest
-			Authentifizierung zu
-			akzeptieren, und benötigt einen authentifizierten Zugriff auf alle Areale der
-			Site
-			unter
-			<filename>/members_only</filename>
-			und
-			<filename>/my_account</filename>
-			. Der
-			Bereichs Wert wird normalerweise durch den Browser in der Passwort Dialog Box
-			angezeigt.
-			<property>nonce_timeout</property>
-			verhält sich natürlich so wie oben
-			beschrieben.
-		</para>
-
-		<para>
-			Dann wird ein
-			<classname>Zend_Auth_Adapter_Http</classname>
-			Objekt erstellt:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Dieses Array bringt den Adapter dazu entwedet Basis oder Digest Authentifizierung zu
+            akzeptieren, und benötigt einen authentifizierten Zugriff auf alle Areale der Site
+            unter <filename>/members_only</filename> und <filename>/my_account</filename>. Der
+            Bereichs Wert wird normalerweise durch den Browser in der Passwort Dialog Box
+            angezeigt. <property>nonce_timeout</property> verhält sich natürlich so wie oben
+            beschrieben.
+        </para>
+
+        <para>
+            Dann wird ein <classname>Zend_Auth_Adapter_Http</classname> Objekt erstellt:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $adapter = new Zend_Auth_Adapter_Http($config);
 ]]></programlisting>
 
-		<para>
-			Da beides, Basis und Digest Authentifizierung, unterstützt werden,
-			werden zwei
-			unterschiedliche Auflösungs-Objekte benötigt. Man könnte das auch einfach durch die
-			Verwendung von zwei unterschiedlichen Klassen bewerkstelligen:
+        <para>
+            Da beides, Basis und Digest Authentifizierung, unterstützt werden, werden zwei
+            unterschiedliche Auflösungs-Objekte benötigt. Man könnte das auch einfach durch die
+            Verwendung von zwei unterschiedlichen Klassen bewerkstelligen:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $basicResolver = new Zend_Auth_Adapter_Http_Resolver_File();
 $basicResolver->setFile('files/basicPasswd.txt');
 
@@ -400,14 +310,12 @@ $adapter->setBasicResolver($basicResolver);
 $adapter->setDigestResolver($digestResolver);
 ]]></programlisting>
 
-		<para>
-			Letztendlich führen wir die Authentifizierung durch. Der Adapter benötigt eine
-			Referenz
-			zu beidem, dem Anfrage und Antwort Objekten um seinen Job durchführen
-			zu können:
+        <para>
+            Letztendlich führen wir die Authentifizierung durch. Der Adapter benötigt eine Referenz
+            zu beidem, dem Anfrage und Antwort Objekten um seinen Job durchführen zu können:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 assert($request instanceof Zend_Controller_Request_Http);
 assert($response instanceof Zend_Controller_Response_Http);
 
@@ -419,5 +327,5 @@ if (!$result->isValid()) {
     // Schlechter Benutzername/Passwort, oder abgebrochener Passwort Prompt
 }
 ]]></programlisting>
-	</sect2>
+    </sect2>
 </sect1>

+ 749 - 1230
documentation/manual/de/module_specs/Zend_Auth_Adapter_Ldap.xml

@@ -2,57 +2,40 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.auth.adapter.ldap">
-	<title>LDAP Authentifizierung</title>
-
-	<sect2 id="zend.auth.adapter.ldap.introduction">
-		<title>Einführung</title>
-
-		<para>
-			<classname>Zend_Auth_Adapter_Ldap</classname>
-			unterstützt Webanwendungen bei der
-			Authentifizierung mit
-			<acronym>LDAP</acronym>
-			Services. Die Features beinhalten
-			Kanonisierung von Benutzernamen und Domainnamen, Mehrfach-Domain
-			Authentifizierung, und
-			Fehlerbehandlungs Features. Es wurde getestet mit
-			<ulink
-				url="http://www.microsoft.com/windowsserver2003/technologies/directory/activedirectory/">Microsoft
-				Active Directory</ulink>
-			und
-			<ulink url="http://www.openldap.org/">OpenLDAP</ulink>
-			,
-			sollte auch mit anderen
-			<acronym>LDAP</acronym>
-			Service Provider zusammenarbeiten.
-		</para>
-
-		<para>
-			Diese Dokumentation enthält eine Anleitung der Verwendung von
-			<classname>Zend_Auth_Adapter_Ldap</classname>
-			, eine Beschreibung der
-			<acronym>API</acronym>
-			, eine Ausgabe der verschiedenen Optionen, Diagnostische
-			Informationen für die Fehlerbehandlung bei Authentifizierungs
-			Problemen, und Beispiel
-			Optionen für beide, Active Directory und OpenLDAP Server.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.ldap.usage">
-		<title>Verwendung</title>
-
-		<para>
-			Um
-			<classname>Zend_Auth_Adapter_Ldap</classname>
-			Authentifizierung in eigene Anwendungen
-			schnell einzubauen, selbst wenn
-			<classname>Zend_Controller</classname>
-			nicht verwendet
-			wird, sollte das Fleisch des eigenen Codes in etwa wie folgt aussehen:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    <title>LDAP Authentifizierung</title>
+
+    <sect2 id="zend.auth.adapter.ldap.introduction">
+        <title>Einführung</title>
+
+        <para>
+            <classname>Zend_Auth_Adapter_Ldap</classname> unterstützt Webanwendungen bei der
+            Authentifizierung mit <acronym>LDAP</acronym> Services. Die Features beinhalten
+            Kanonisierung von Benutzernamen und Domainnamen, Mehrfach-Domain Authentifizierung, und
+            Fehlerbehandlungs Features. Es wurde getestet mit <ulink
+                url="http://www.microsoft.com/windowsserver2003/technologies/directory/activedirectory/">Microsoft
+                Active Directory</ulink> und <ulink url="http://www.openldap.org/">OpenLDAP</ulink>,
+            sollte auch mit anderen <acronym>LDAP</acronym> Service Provider zusammenarbeiten.
+        </para>
+
+        <para>
+            Diese Dokumentation enthält eine Anleitung der Verwendung von
+            <classname>Zend_Auth_Adapter_Ldap</classname>, eine Beschreibung der
+            <acronym>API</acronym>, eine Ausgabe der verschiedenen Optionen, Diagnostische
+            Informationen für die Fehlerbehandlung bei Authentifizierungs Problemen, und Beispiel
+            Optionen für beide, Active Directory und OpenLDAP Server.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.ldap.usage">
+        <title>Verwendung</title>
+
+        <para>
+            Um <classname>Zend_Auth_Adapter_Ldap</classname> Authentifizierung in eigene Anwendungen
+            schnell einzubauen, selbst wenn <classname>Zend_Controller</classname> nicht verwendet
+            wird, sollte das Fleisch des eigenen Codes in etwa wie folgt aussehen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $username = $this->_request->getParam('username');
 $password = $this->_request->getParam('password');
 
@@ -86,48 +69,30 @@ if ($log_path) {
 }
 ]]></programlisting>
 
-		<para>
-			Natürlich ist der Logging Code optional, aber es wird dringend
-			empfohlen einen Logger
-			zu verwenden.
-			<classname>Zend_Auth_Adapter_Ldap</classname>
-			zeichnet fast jedes
-			Bisschen an Information in
-			<varname>$messages</varname>
-			auf das irgendwer benötigen
-			können (mehr anbei), was allerdings selbst ein nettes Feature für jemanden
-			als History
-			ist, kann überaus schwierig zu debuggen sein.
-		</para>
-
-		<para>
-			Der
-			<classname>Zend_Config_Ini</classname>
-			wird oben verwendet um die Optionen des
-			Adapters zu laden. Er ist also auch optional. Ein reguläres Array würde
-			genauso gut
-			arbeiten. Das folgende ist eine Beispiel
-			<filename>application/config/config.ini</filename>
-			Datei die Optionen für zwei separate
-			Server hat. Mit mehreren Sets von Server Optionen versucht der Adapter jede
-			in
-			Reihenfolge bis die Zugangsdaten erfolgreich authentifiziert wurden. Die Namen
-			der
-			Server (z.B., 'server1' und 'server2') sind sehr verallgemeinert. Für
-			Details
-			betreffend dem Array für Optionen, siehe das Kapitel über
-			<emphasis>Server
-				Optionen</emphasis>
-			weiter unten. Es ist zu beachten das
-			<classname>Zend_Config_Ini</classname>
-			jeden Wert der mit Gleichheitszeichen
-			(
-			<emphasis>=</emphasis>
-			) geschrieben wird auch unter Anführungszeichen gesetzt wird
-			(wie unten bei DNs gezeigt).
-		</para>
-
-		<programlisting language="ini"><![CDATA[
+        <para>
+            Natürlich ist der Logging Code optional, aber es wird dringend empfohlen einen Logger
+            zu verwenden. <classname>Zend_Auth_Adapter_Ldap</classname> zeichnet fast jedes
+            Bisschen an Information in <varname>$messages</varname> auf das irgendwer benötigen
+            können (mehr anbei), was allerdings selbst ein nettes Feature für jemanden als History
+            ist, kann überaus schwierig zu debuggen sein.
+        </para>
+
+        <para>
+            Der <classname>Zend_Config_Ini</classname> wird oben verwendet um die Optionen des
+            Adapters zu laden. Er ist also auch optional. Ein reguläres Array würde genauso gut
+            arbeiten. Das folgende ist eine Beispiel
+            <filename>application/config/config.ini</filename> Datei die Optionen für zwei separate
+            Server hat. Mit mehreren Sets von Server Optionen versucht der Adapter jede in
+            Reihenfolge bis die Zugangsdaten erfolgreich authentifiziert wurden. Die Namen der
+            Server (z.B., 'server1' und 'server2') sind sehr verallgemeinert. Für Details
+            betreffend dem Array für Optionen, siehe das Kapitel über <emphasis>Server
+                Optionen</emphasis> weiter unten. Es ist zu beachten das
+            <classname>Zend_Config_Ini</classname> jeden Wert der mit Gleichheitszeichen
+            (<emphasis>=</emphasis>) geschrieben wird auch unter Anführungszeichen gesetzt wird
+            (wie unten bei DNs gezeigt).
+        </para>
+
+        <programlisting language="ini"><![CDATA[
 [production]
 
 ldap.log_path = /tmp/ldap.log
@@ -151,81 +116,53 @@ ldap.server2.accountCanonicalForm = 3
 ldap.server2.baseDn = "CN=Users,DC=w,DC=net"
 ]]></programlisting>
 
-		<para>
-			Die obige Konfiguration instruiert
-			<classname>Zend_Auth_Adapter_Ldap</classname>
-			das es
-			versuchen soll Benutzer zuerst mit dem OpenLDAP Server
-			<filename>s0.foo.net</filename>
-			authentifizieren soll. Wenn die Authentifizierung auf irgendeinem
-			Grund fehlschlägt,
-			wird der AD Server
-			<filename>dc1.w.net</filename>
-			versucht.
-		</para>
-
-		<para>
-			Mit Servern in verschiedenen Domains, zeigt diese Konfiguration
-			Multi-Domain
-			Authentifizierung. Es können auch mehrere Server in der gleichen Domain sein um
-			Redundanz anzubieten.
+        <para>
+            Die obige Konfiguration instruiert <classname>Zend_Auth_Adapter_Ldap</classname> das es
+            versuchen soll Benutzer zuerst mit dem OpenLDAP Server <filename>s0.foo.net</filename>
+            authentifizieren soll. Wenn die Authentifizierung auf irgendeinem Grund fehlschlägt,
+            wird der AD Server <filename>dc1.w.net</filename> versucht.
         </para>
 
-		<para>
-			In diesem Fall ist zu beachten das, selbst wenn OpenLDAP keine
-			Notwendigkeit für kurze
-			NetBIOS Stil Domainnamen hat die von Windows verwendet werden bieten wir Sie
-			hier an
-			wegen der Kanonifizierung der Namen (beschrieben im
-			<emphasis>Kanonifizierung von Benutzernamen</emphasis>
-			Kapitel anbei).
-		</para>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.ldap.api">
-		<title>Die API</title>
-
-		<para>
-			Der
-			<classname>Zend_Auth_Adapter_Ldap</classname>
-			Konstruktor akzeptiert drei Parameter.
-		</para>
-
-		<para>
-			Der
-			<varname>$options</varname>
-			Parameter wird benötigt und muß ein Array sein das ein
-			oder mehrere Sets von Optionen enthält. Es ist zu beachten das es sich um
-			<emphasis>Array von Arrays</emphasis>
-			von
-			<link linkend="zend.ldap">
-				<classname>Zend_Ldap</classname>
-			</link>
-			Optionen handelt. Selbst
-			wenn nur ein einzelner
-			<acronym>LDAP</acronym>
-			Server verwendet wird, müssen die
-			Optionen trotzdem in einem anderen Array sein.
-		</para>
-
-		<para>
-			Anbei ist eine
-			<ulink url="http://php.net/print_r">
-				<methodname>print_r()</methodname>
-			</ulink>
-			Ausgabe von beispielhaften Optionsparameters die zwei Sets von
-			Serveroptionen für
-			<acronym>LDAP</acronym>
-			Server enthalten,
-			<filename>s0.foo.net</filename>
-			und
-			<filename>dc1.w.net</filename>
-			(die gleichen Optionen wie in der oberen
-			<acronym>INI</acronym>
-			Repräsentation):
-		</para>
-
-		<programlisting language="output"><![CDATA[
+        <para>
+            Mit Servern in verschiedenen Domains, zeigt diese Konfiguration Multi-Domain
+            Authentifizierung. Es können auch mehrere Server in der gleichen Domain sein um
+            Redundanz anzubieten.
+        </para>
+
+        <para>
+            In diesem Fall ist zu beachten das, selbst wenn OpenLDAP keine Notwendigkeit für kurze
+            NetBIOS Stil Domainnamen hat die von Windows verwendet werden bieten wir Sie hier an
+            wegen der Kanonifizierung der Namen (beschrieben im
+            <emphasis>Kanonifizierung von Benutzernamen</emphasis> Kapitel anbei).
+        </para>
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.ldap.api">
+        <title>Die API</title>
+
+        <para>
+            Der <classname>Zend_Auth_Adapter_Ldap</classname> Konstruktor akzeptiert drei Parameter.
+        </para>
+
+        <para>
+            Der <varname>$options</varname> Parameter wird benötigt und muß ein Array sein das ein
+            oder mehrere Sets von Optionen enthält. Es ist zu beachten das es sich um
+            <emphasis>Array von Arrays</emphasis> von <link
+                linkend="zend.ldap"><classname>Zend_Ldap</classname></link> Optionen handelt. Selbst
+            wenn nur ein einzelner <acronym>LDAP</acronym> Server verwendet wird, müssen die
+            Optionen trotzdem in einem anderen Array sein.
+        </para>
+
+        <para>
+            Anbei ist eine <ulink
+                url="http://php.net/print_r"><methodname>print_r()</methodname></ulink>
+            Ausgabe von beispielhaften Optionsparameters die zwei Sets von Serveroptionen für
+            <acronym>LDAP</acronym> Server enthalten, <filename>s0.foo.net</filename> und
+            <filename>dc1.w.net</filename> (die gleichen Optionen wie in der oberen
+            <acronym>INI</acronym> Repräsentation):
+        </para>
+
+        <programlisting language="output"><![CDATA[
 Array
 (
     [server2] => Array
@@ -253,1075 +190,657 @@ Array
 )
 ]]></programlisting>
 
-		<para>
-			Die oben angebotene Information in jedem Set von Optionen ist
-			hauptsächlich deswegen
-			unterschiedlich weil AD keinen Benutzernamen während des Bindesn in der DN Form
-			benötigt
-			(siehe die
-			<property>bindRequiresDn</property>
-			Option des
-			<emphasis>Server Optionen</emphasis>
-			Kapitels weiter unten), was bedeutet das die
-			Anzahl der, mit dem Empfangen der DN, für einen Benutzernamen der
-			Authentifiziert
-			werden soll, assoziierten Optionen, unterdrückt werden kann.
-		</para>
-
-		<note>
-			<title>Was ist ein ausgezeichneter Name?</title>
-
-			<para>
-				Ein DN oder "distinguished name" ist ein String der den Pfad zu
-				einem Objekt im
-				<acronym>LDAP</acronym>
-				Verzeichnis repräsentiert. Jede komma-seperierte Komponente
-				ist ein Attribut und Wert der einen Node repräsentiert. Die Komponenten
-				werden
-				rückwirkend evaluiert. Zum Beispiel ist der Benutzeraccount
-				<emphasis>CN=Bob Carter,CN=Users,DC=w,DC=net</emphasis>
-				direkt in
-				<emphasis>CN=Users,DC=w,DC=net container</emphasis>
-				enthalten. Diese Struktur wird
-				am besten mit einem
-				<acronym>LDAP</acronym>
-				Browser wie das
-				<acronym>ADSI</acronym>
-				Edit
-				<acronym>MMC</acronym>
-				snap-in für Active Directory oder phpLDAPadmin erkundet.
-			</para>
-		</note>
-
-		<para>
-			Die Namen von Servern (z.B. 'server1' und 'server2' wie unten
-			gezeigt) sind großteils
-			beliebig, aber aus Gründen der Verwendung von
-			<classname>Zend_Config</classname>
-			sollten die Identifikatoren (im Gegensatz dazu das Sie nummerische
-			Indezes sind)
-			vorhanden sein, und sollten keine spezielle Zeichen enthalten die vom
-			assoziierten
-			Dateiformat verwendet werden (z.B. der '
-			<emphasis>.</emphasis>
-			'
-			<acronym>INI</acronym>
-			Eigenschafts Separator, '
-			<emphasis>&amp;</emphasis>
-			' für
-			<acronym>XML</acronym>
-			Entity
-			Referenzen, usw.).
-		</para>
-
-		<para>
-			Mit mehreren Sets von Serveroptionen, kann der Adapter Benutzer in
-			mehreren Domains
-			authentifizieren und bietet ein Failover damit, wenn ein Server nicht erreichbar ist,
-			ein anderer abgefragt wird.
+        <para>
+            Die oben angebotene Information in jedem Set von Optionen ist hauptsächlich deswegen
+            unterschiedlich weil AD keinen Benutzernamen während des Bindesn in der DN Form benötigt
+            (siehe die <property>bindRequiresDn</property> Option des
+            <emphasis>Server Optionen</emphasis> Kapitels weiter unten), was bedeutet das die
+            Anzahl der, mit dem Empfangen der DN, für einen Benutzernamen der Authentifiziert
+            werden soll, assoziierten Optionen, unterdrückt werden kann.
+        </para>
+
+        <note>
+            <title>Was ist ein ausgezeichneter Name?</title>
+
+            <para>
+                Ein DN oder "distinguished name" ist ein String der den Pfad zu einem Objekt im
+                <acronym>LDAP</acronym> Verzeichnis repräsentiert. Jede komma-seperierte Komponente
+                ist ein Attribut und Wert der einen Node repräsentiert. Die Komponenten werden
+                rückwirkend evaluiert. Zum Beispiel ist der Benutzeraccount
+                <emphasis>CN=Bob Carter,CN=Users,DC=w,DC=net</emphasis> direkt in
+                <emphasis>CN=Users,DC=w,DC=net container</emphasis> enthalten. Diese Struktur wird
+                am besten mit einem <acronym>LDAP</acronym> Browser wie das <acronym>ADSI</acronym>
+                Edit <acronym>MMC</acronym> snap-in für Active Directory oder phpLDAPadmin erkundet.
+            </para>
+        </note>
+
+        <para>
+            Die Namen von Servern (z.B. 'server1' und 'server2' wie unten gezeigt) sind großteils
+            beliebig, aber aus Gründen der Verwendung von <classname>Zend_Config</classname>
+            sollten die Identifikatoren (im Gegensatz dazu das Sie nummerische Indezes sind)
+            vorhanden sein, und sollten keine spezielle Zeichen enthalten die vom assoziierten
+            Dateiformat verwendet werden (z.B. der '<emphasis>.</emphasis>' <acronym>INI</acronym>
+            Eigenschafts Separator, '<emphasis>&amp;</emphasis>' für <acronym>XML</acronym> Entity
+            Referenzen, usw.).
+        </para>
+
+        <para>
+            Mit mehreren Sets von Serveroptionen, kann der Adapter Benutzer in mehreren Domains
+            authentifizieren und bietet ein Failover damit, wenn ein Server nicht erreichbar ist,
+            ein anderer abgefragt wird.
+        </para>
+
+        <note>
+            <title>Die glorreichen Details: Was passiert bei der Authentifizierungs Methode?</title>
+
+            <para>
+                Wenn die <methodname>authenticate()</methodname> Methode aufgerufen wird, iteriert
+                der Adapter über jedes Set von Serveroptione, setzt diese auf der internen
+                <classname>Zend_Ldap</classname> Instanz und ruft die
+                <methodname>Zend_Ldap::bind()</methodname> Methode, mit dem Benutzernamen und
+                Passwort das authentifiziert werden soll, auf. Die <classname>Zend_Ldap</classname>
+                Klasse prüft um zu sehen ob der Benutzer mit einer Domain qualifiziert ist (hat
+                z.B. eine Domainkomponente wie <filename>alice@foo.net</filename> oder
+                <filename>FOO\alice</filename>). Wenn eine Domain vorhanden ist, aber mit keiner
+                der Domainnamen der Server (<filename>foo.net</filename> oder
+                <acronym>FOO</acronym>) übereinstimmt, wird eine spezielle Ausnahme geworfen und
+                durch <classname>Zend_Auth_Adapter_Ldap</classname> gefangen, was bewirkt das der
+                Server ignoriert wird und der nächste, in den Serveroptionen gesetzte Server,
+                ausgewählt wird. Wenn eine Domain <emphasis>doch</emphasis> passt, oder der
+                Benutzer keinen qualifizierten Benutzernamen angegeben hat, fährt
+                <classname>Zend_Ldap</classname> weiter fort und versucht mit den angegebenen
+                Zugangsdaten zu binden. Wenn das Binden nicht erfolgreich war wirft
+                <classname>Zend_Ldap</classname> eine <classname>Zend_Ldap_Exception</classname>
+                welche durch <classname>Zend_Auth_Adapter_Ldap</classname> gefangen wird, und das
+                nächste Set von Serveroptionen wird versucht. Wenn das Binden erfolgreich war, wird
+                die Iteration gestoppt, und die <methodname>authenticate()</methodname> Methode des
+                Adapters gibt ein erfolgreiches Ergebnis zurück. Wenn alle Serveroptionen ohne
+                Erfolg durchprobiert wurden, schlägt die Authentifizierung fehl, und
+                <methodname>authenticate()</methodname> gibt ein Fehlerergebnis zurück mit der
+                Fehlermeldung der letzten Iteration.
+            </para>
+        </note>
+
+        <para>
+            Die username und password Parameter des <classname>Zend_Auth_Adapter_Ldap</classname>
+            Konstruktors repräsentieren die Zugangsdaten die authentifiziert werden sollen (z.B.
+            die Zugangsdaten die durch den Benutzer über eine <acronym>HTML</acronym> Login Form
+            angegeben werden). Alternativ können Sie auch mit den
+            <methodname>setUsername()</methodname> und <methodname>setPassword()</methodname>
+            Methoden gesetzt werden.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.ldap.server-options">
+        <title>Server Optionen</title>
+
+        <para>
+            Jedes Set von Serveroptionen <emphasis>im Kontext von
+            <classname>Zend_Auth_Adapter_Ldap</classname></emphasis> besteht aus den folgenden
+            Optionen welche, großteils ungeändert, an
+            <methodname>Zend_Ldap::setOptions()</methodname> übergeben werden:
+        </para>
+
+        <table id="zend.auth.adapter.ldap.server-options.table">
+            <title>Server Optionen</title>
+
+            <tgroup cols="2">
+                <thead>
+                    <row>
+                        <entry>Name</entry>
+                        <entry>Beschreibung</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis><property>host</property></emphasis></entry>
+
+                        <entry>
+                            Der Hostname des <acronym>LDAP</acronym> Servers der diese Optionen
+                            repräsentiert. Diese Option wird benötigt.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>port</property></emphasis></entry>
+
+                        <entry>
+                            Der Port auf den der <acronym>LDAP</acronym> Server schaut. Wenn
+                            <emphasis>useSsl</emphasis> <constant>TRUE</constant> ist, ist der
+                            Standardwert von <property>port</property> 636. Wenn
+                            <property>useSsl</property> <constant>FALSE</constant> ist, ist der
+                            Standardwert von <property>port</property> 389.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>useStartTls</property></emphasis></entry>
+
+                        <entry>
+                            Ob der <acronym>LDAP</acronym> Client einen <acronym>TSL</acronym> (aka
+                            <acronym>SSL</acronym>v2) verschlüsselten Transport verwenden soll oder
+                            nicht. Der Wert <constant>TRUE</constant> wird in einer
+                            Produktionsumgebung strengstens empfohlen um zu verhindern das
+                            Passwörter im Klartext übertragen werden. Der Standardwert ist
+                            <constant>FALSE</constant>, da Server typischerweise nach deren
+                            Installation erwarten das ein Zertifikat installiert wird. Die
+                            <property>useSsl</property> und <property>useStartTls</property>
+                            Optionen schließen sich gegenseitig aus. Die
+                            <property>useStartTls</property> Option sollte über
+                            <property>useSsl</property> favorisiert werden, aber nicht alle Server
+                            unterstützen diesen neueren Mechanismus.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>useSsl</property></emphasis></entry>
+
+                        <entry>
+                            Ob der <acronym>LDAP</acronym> Client einen <acronym>SSL</acronym>
+                            verschlüsselten Transport verwenden soll. Die
+                            <property>useSsl</property> und <property>useStartTls</property>
+                            Optionen schließen sich gegenseitig aus, aber
+                            <property>useStartTls</property> sollte favorisiert werden wenn der
+                            Server und die <acronym>LDAP</acronym> Bibliothek des Clients diese
+                            unterstützen. Dieser Wert ändert auch den Standardwert von
+                            <property>port</property> (siehe die <property>port</property>
+                            Beschreibung weiter oben).
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>username</property></emphasis></entry>
+
+                        <entry>
+                            Der DN des Accounts der verwendet wird um DN Account Loopups
+                            durchzuführen. <acronym>LDAP</acronym> Server die den Benutzernamen
+                            in DN Form benötigen wenn "bind" durchgeführt wird, benötigen diese
+                            Option. Wenn <property>bindRequiresDn</property>
+                            <constant>TRUE</constant> ist, wird diese Option benötigt. Dieser
+                            Account muß kein privilegierter Account sein - ein Account mit nur-lese
+                            Zugriff zu Objekten unter <property>baseDn</property> ist alles was
+                            notwendig ist (und bevorzugt unter dem <emphasis>Prinzip des geringsten
+                            Privilegs</emphasis>).
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>password</property></emphasis></entry>
+
+                        <entry>
+                            Das Passwort des Accounts der verwendet wird um DN Lookups
+                            durchzuführen. Wenn diese Option nicht unterstützt wird, versucht der
+                            <acronym>LDAP</acronym> Client einen "anonymen bind" wenn DN Lookups
+                            durchgeführt werden.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>bindRequiresDn</property></emphasis></entry>
+
+                        <entry>
+                            Einige <acronym>LDAP</acronym> Server benötigen den zum Binden
+                            verwendeten Benutzernamen in der DN Form wie
+                            <emphasis>CN=Alice Baker,OU=Sales,DC=foo,DC=net</emphasis>
+                            (grundsätzlich alle Server <emphasis>außer</emphasis> AD). Wenn diese
+                            Option <constant>TRUE</constant> ist, instuiert dies
+                            <classname>Zend_Ldap</classname> das der DN automatisch empfangen wird,
+                            abhängig vom Benutzernamen der authentifiziert wird, wenn er nicht
+                            bereits in DN Form ist, und diesen dann wieder mit der richtigen DN zu
+                            binden. Der Standardwert ist <constant>FALSE</constant>. Aktuell ist nur
+                            von Microsoft Active Directory Server (<acronym>ADS</acronym>) bekannt
+                            das es den Benutzernamen <emphasis>nicht</emphasis> in der DN Form
+                            benötigt wenn gebunden wird, und deswegen kann diese Option mit AD auch
+                            <constant>FALSE</constant> sein (und sollte das auch, da das Empfangen
+                            des DN eine extra Anfrage zum Server benötigt). Andernfalls muß diese
+                            Option auf <constant>TRUE</constant> gesetzt werden (z.B. für OpenLDAP).
+                            Diese Option kontrolliert das Standard
+                            <property>acountFilterFormat</property> das verwendet wird wenn nach
+                            Accounts gesucht wird. Siehe auch die
+                            <property>accountFilterFormat</property> Option.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>baseDn</property></emphasis></entry>
+
+                        <entry>
+                            Der Ort vom DN unter dem alle Accounts die authentifiziert werden. Diese
+                            Option wird benötigt. Wenn man sich unsicher über den richtigen
+                            <property>baseDn</property> ist, sollte es genug sein Ihn von
+                            der <acronym>DNS</acronym> Domain des Benutzers der die
+                            <emphasis>DC=</emphasis> Komponenten verwedet abzuleiten. Wenn der
+                            Hauptname eines Benutzers <filename>alice@foo.net</filename> ist, sollte
+                            ein <property>baseDn</property> von <emphasis>DC=foo,DC=net</emphasis>
+                            funktionieren. Eine präzisere Ortsangabe
+                            (z.B. <emphasis>OU=Sales,DC=foo,DC=net</emphasis>) ist trotzdem
+                            effizienter.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>accountCanonicalForm</property></emphasis></entry>
+
+                        <entry>
+                            Ein Wert von 2, 3 oder 4 zeigt die Form zu der Account Namen
+                            authorisiert werden sollten nachdem die Authentifizierung erfolgreich
+                            war. Die Werte sind wie folgt: 2 für traditionelle Benutzernamen-Stil
+                            Namen (z.B., <emphasis>alice</emphasis>), 3 für Schrägstrich-Stil Namen
+                            (z.B., <filename>FOO\alice</filename>) oder 4 für Authentifiziert-Sil
+                            Namen (z.B., <filename>alice@foo.net</filename>). Der Standardwert ist 4
+                            (z.B., <filename>alice@foo.net</filename>). Mit einem Wert von 3, z.B.,
+                            wird die Identität die von
+                            <methodname>Zend_Auth_Result::getIdentity()</methodname> zurückgegeben
+                            wird (und <methodname>Zend_Auth::getIdentity()</methodname>, wenn
+                            <classname>Zend_Auth</classname> verwendet wird), immer
+                            <filename>FOO\alice</filename> sein, unabhängig von der Form in der
+                            Alice angegeben wurde, egal ob es <emphasis>alice</emphasis>,
+                            <filename>alice@foo.net</filename>, <filename>FOO\alice</filename>,
+                            <filename>FoO\aLicE</filename>, <filename>foo.net\alice</filename>, etc.
+                            Siehe das Kapitel <emphasis>Kanonisierung von Account Namen</emphasis>
+                            in der <classname>Zend_Ldap</classname> Dokumentation für Details. Bei
+                            der Verwendung von mehreren Sets von Serveroptionen ist es
+                            empfehlenswert, aber nicht notwendig, das die selbe
+                            <property>accountCanonicalForm</property> in allen
+                            Serveroptionen verwendet wird, sodas die sich ergebenden Benutzernamen
+                            immer auf die selbe Art und Weise kanonisiert werden (z.b. wenn man auf
+                            <filename>EXAMPLE\username</filename> mit einem AD Server kanonisiert,
+                            aber zu <filename>username@example.com</filename> mit einem OpenLDAP
+                            Server, kann das quirks für die High-Level Logik einer Anwendung sein).
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>accountDomainName</property></emphasis></entry>
+
+                        <entry>
+                            Der <acronym>FQDN</acronym> Domainname für welchen der Ziel
+                            <acronym>LDAP</acronym> Server eine Authorität ist (z.B.,
+                            <filename>example.com</filename>). Diese Option wird verwendet um Namen
+                            zu kanonisieren sodas der Benutzername der vom Benutzer angeboten wird,
+                            wie es für das Binden notwendig ist, konvertiert werden kann. Er wird
+                            auch verwendet um festzustellen ob der Server eine Authorität für den
+                            angegebenen Benutzernamen ist (z.B., wenn
+                            <property>accountDomainName</property> <filename>foo.net</filename> ist
+                            und der angegebene Benutzer <filename>bob@bar.net</filename>, wird der
+                            Server nicht abgefragt, und das Ergebnis wird ein Fehler sein). Diese
+                            Option wird nicht benötigt, aber wenn Sie nicht angegeben wird, dann
+                            werden Benutzernamen in prinzipieller Namensform (z.B.,
+                            <filename>alice@foo.net</filename>) nicht unterstützt. Es wird stark
+                            empfohlen das diese Option angegeben wird, da es viele Anwendungsfälle
+                            gibt welche die Erstellung von prinzipieller Namensform benötigen.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>accountDomainNameShort</property></emphasis></entry>
+
+                        <entry>
+                            Die 'short' Domain für die der Ziel <acronym>LDAP</acronym> Server eine
+                            Authorität ist (z.B., <acronym>FOO</acronym>). Es ist z ubeachten das
+                            es ein 1:1 Mapping zwischen <property>accountDomainName</property> und
+                            <property>accountDomainNameShort</property> existiert. Diese
+                            Option sollte verwendet werden um den NetBIOS Domainnamen für Windows
+                            Netzwerke zu spezifizieren, kann aber auch von nicht-AD Servern
+                            verwendet werden (z.B., für Konsistenz bei mehreren Sets von
+                            Serveroptionen bei dem Schrägstrich Stil
+                            <property>accountCanonicalForm</property>). Diese Option wird nicht
+                            benötigt, aber wenn Sie nicht angegeben wird, werden Benutzernamen im
+                            Schrägstrich Stil (z.B. <filename>FOO\alice</filename>) nicht
+                            unterstützt.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>accountFilterFormat</property></emphasis></entry>
+
+                        <entry>
+                            Der <acronym>LDAP</acronym> Suchfilter der für die Suche nach Accounts
+                            verwendet wird. Dieser String ist ein <ulink
+                                url="http://php.net/printf"><methodname>printf()</methodname></ulink>-Stil
+                            Ausdruck der ein '<emphasis>%s</emphasis>' enthalten muß um den
+                            Benutzernamen unterzubringen. Der Standardwert ist
+                            '<emphasis>(&amp;(objectClass=user)(sAMAccountName=%s))</emphasis>',
+                            ausgenommen <property>bindRequiresDn</property> wird auf
+                            <constant>TRUE</constant> gesetzt. In diesem Fall ist der Standardwert
+                            '<emphasis>(&amp;(objectClass=posixAccount)(uid=%s))</emphasis>'. Wenn,
+                            zum Beispiel, aus irgendeinem Grund
+                            <emphasis>bindRequiresDn = true</emphasis> mit AD verwendet werden soll,
+                            muß <emphasis>accountFilterFormat =
+                                '(&amp;(objectClass=user)(sAMAccountName=%s))</emphasis>' gesetzt
+                            werden.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis><property>optReferrals</property></emphasis></entry>
+
+                        <entry>
+                            Wenn sie auf <constant>TRUE</constant> gesetzt wird, zeigt diese Option
+                            dem <acronym>LDAP</acronym> Client an, das Referenzen gefolgt werden
+                            soll. Der Standardwert ist <constant>FALSE</constant>.
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <note>
+            <para>
+                Wenn <emphasis>useStartTls = <constant>TRUE</constant></emphasis> oder
+                <emphasis>useSsl = <constant>TRUE</constant></emphasis> aktiviert ist, erzeugt der
+                <acronym>LDAP</acronym> Client einen Fehler der aussagt das er das Zertifikat des
+                Servers nicht überprüfen kann. Angenommen die <acronym>PHP</acronym>
+                <acronym>LDAP</acronym> Erweiterung ist ultimativ verlinkt mit der OpenLDAP Client
+                Bibliothek, muß man um dieses Problem zu lösen
+                "<command>TLS_REQCERT never</command>" im OpenLDAP Client
+                <filename>ldap.conf</filename> setzen (und den Web Server restarten) um der
+                OpenLDAP Client Bibliothek anzuzeigen das man dem Server vertraut. Alternativ,
+                wenn man annimmt das der Server gehackt werden könnte kann das Basiszertifikat des
+                <acronym>LDAP</acronym> Servers exportiert und auf den Webserver gegeben werden so
+                dass der OpenLDAP Client die Identität des Servers prüfen kann.
+            </para>
+        </note>
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.ldap.debugging">
+        <title>Debug Nachrichten sammeln</title>
+
+        <para>
+            <classname>Zend_Auth_Adapter_Ldap</classname> sammelt Debug Informationen in seiner
+            <methodname>authenticate()</methodname> Methode. Diese Information wird im
+            <classname>Zend_Auth_Result</classname> Objekt als Nachrichten gespeichert. Das von
+            <methodname>Zend_Auth_Result::getMessages()</methodname> zurückgegebene Array kann wie
+            folgt beschrieben werden:
         </para>
 
-		<note>
-			<title>Die glorreichen Details: Was passiert bei der
-				Authentifizierungs Methode?</title>
-
-			<para>
-				Wenn die
-				<methodname>authenticate()</methodname>
-				Methode aufgerufen wird, iteriert
-				der Adapter über jedes Set von Serveroptione, setzt diese auf der
-				internen
-				<classname>Zend_Ldap</classname>
-				Instanz und ruft die
-				<methodname>Zend_Ldap::bind()</methodname>
-				Methode, mit dem Benutzernamen und
-				Passwort das authentifiziert werden soll, auf. Die
-				<classname>Zend_Ldap</classname>
-				Klasse prüft um zu sehen ob der Benutzer mit einer Domain
-				qualifiziert ist (hat
-				z.B. eine Domainkomponente wie
-				<filename>alice@foo.net</filename>
-				oder
-				<filename>FOO\alice</filename>
-				). Wenn eine Domain vorhanden ist, aber mit keiner
-				der Domainnamen der Server (
-				<filename>foo.net</filename>
-				oder
-				<acronym>FOO</acronym>
-				) übereinstimmt, wird eine spezielle Ausnahme geworfen und
-				durch
-				<classname>Zend_Auth_Adapter_Ldap</classname>
-				gefangen, was bewirkt das der
-				Server ignoriert wird und der nächste, in den Serveroptionen gesetzte
-				Server,
-				ausgewählt wird. Wenn eine Domain
-				<emphasis>doch</emphasis>
-				passt, oder der
-				Benutzer keinen qualifizierten Benutzernamen angegeben hat, fährt
-				<classname>Zend_Ldap</classname>
-				weiter fort und versucht mit den angegebenen
-				Zugangsdaten zu binden. Wenn das Binden nicht erfolgreich war wirft
-				<classname>Zend_Ldap</classname>
-				eine
-				<classname>Zend_Ldap_Exception</classname>
-				welche durch
-				<classname>Zend_Auth_Adapter_Ldap</classname>
-				gefangen wird, und das
-				nächste Set von Serveroptionen wird versucht. Wenn das Binden erfolgreich
-				war, wird
-				die Iteration gestoppt, und die
-				<methodname>authenticate()</methodname>
-				Methode des
-				Adapters gibt ein erfolgreiches Ergebnis zurück. Wenn alle Serveroptionen
-				ohne
-				Erfolg durchprobiert wurden, schlägt die Authentifizierung fehl, und
-				<methodname>authenticate()</methodname>
-				gibt ein Fehlerergebnis zurück mit der
-				Fehlermeldung der letzten Iteration.
-			</para>
-		</note>
-
-		<para>
-			Die username und password Parameter des
-			<classname>Zend_Auth_Adapter_Ldap</classname>
-			Konstruktors repräsentieren die Zugangsdaten die authentifiziert
-			werden sollen (z.B.
-			die Zugangsdaten die durch den Benutzer über eine
-			<acronym>HTML</acronym>
-			Login Form
-			angegeben werden). Alternativ können Sie auch mit den
-			<methodname>setUsername()</methodname>
-			und
-			<methodname>setPassword()</methodname>
-			Methoden gesetzt werden.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.ldap.server-options">
-		<title>Server Optionen</title>
-
-		<para>
-			Jedes Set von Serveroptionen
-			<emphasis>
-				im Kontext von
-				<classname>Zend_Auth_Adapter_Ldap</classname>
-			</emphasis>
-			besteht aus den folgenden
-			Optionen welche, großteils ungeändert, an
-			<methodname>Zend_Ldap::setOptions()</methodname>
-			übergeben werden:
-		</para>
-
-		<table id="zend.auth.adapter.ldap.server-options.table">
-			<title>Server Optionen</title>
-
-			<tgroup cols="2">
-				<thead>
-					<row>
-						<entry>Name</entry>
-						<entry>Beschreibung</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>
-							<emphasis>
-								<property>host</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Der Hostname des
-							<acronym>LDAP</acronym>
-							Servers der diese Optionen
-							repräsentiert. Diese Option wird benötigt.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>port</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Der Port auf den der
-							<acronym>LDAP</acronym>
-							Server schaut. Wenn
-							<emphasis>useSsl</emphasis>
-							<constant>TRUE</constant>
-							ist, ist der
-							Standardwert von
-							<property>port</property>
-							636. Wenn
-							<property>useSsl</property>
-							<constant>FALSE</constant>
-							ist, ist der
-							Standardwert von
-							<property>port</property>
-							389.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>useStartTls</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Ob der
-							<acronym>LDAP</acronym>
-							Client einen
-							<acronym>TSL</acronym>
-							(aka
-							<acronym>SSL</acronym>
-							v2) verschlüsselten Transport verwenden soll oder
-							nicht. Der Wert
-							<constant>TRUE</constant>
-							wird in einer
-							Produktionsumgebung strengstens empfohlen um zu verhindern das
-							Passwörter im Klartext übertragen werden. Der Standardwert ist
-							<constant>FALSE</constant>
-							, da Server typischerweise nach deren
-							Installation erwarten das ein Zertifikat installiert wird. Die
-							<property>useSsl</property>
-							und
-							<property>useStartTls</property>
-							Optionen schließen sich gegenseitig aus. Die
-							<property>useStartTls</property>
-							Option sollte über
-							<property>useSsl</property>
-							favorisiert werden, aber nicht alle Server
-							unterstützen diesen neueren Mechanismus.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>useSsl</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Ob der
-							<acronym>LDAP</acronym>
-							Client einen
-							<acronym>SSL</acronym>
-							verschlüsselten Transport verwenden soll. Die
-							<property>useSsl</property>
-							und
-							<property>useStartTls</property>
-							Optionen schließen sich gegenseitig aus, aber
-							<property>useStartTls</property>
-							sollte favorisiert werden wenn der
-							Server und die
-							<acronym>LDAP</acronym>
-							Bibliothek des Clients diese
-							unterstützen. Dieser Wert ändert auch den Standardwert von
-							<property>port</property>
-							(siehe die
-							<property>port</property>
-							Beschreibung weiter oben).
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>username</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Der DN des Accounts der verwendet wird um DN Account Loopups
-							durchzuführen.
-							<acronym>LDAP</acronym>
-							Server die den Benutzernamen
-							in DN Form benötigen wenn "bind" durchgeführt wird, benötigen diese
-							Option. Wenn
-							<property>bindRequiresDn</property>
-							<constant>TRUE</constant>
-							ist, wird diese Option benötigt. Dieser
-							Account muß kein privilegierter Account sein - ein Account mit nur-lese
-							Zugriff zu Objekten unter
-							<property>baseDn</property>
-							ist alles was
-							notwendig ist (und bevorzugt unter dem
-							<emphasis>Prinzip des geringsten
-								Privilegs</emphasis>
-							).
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>password</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Das Passwort des Accounts der verwendet wird um DN Lookups
-							durchzuführen. Wenn diese Option nicht unterstützt wird, versucht
-							der
-							<acronym>LDAP</acronym>
-							Client einen "anonymen bind" wenn DN Lookups
-							durchgeführt werden.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>bindRequiresDn</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Einige
-							<acronym>LDAP</acronym>
-							Server benötigen den zum Binden
-							verwendeten Benutzernamen in der DN Form wie
-							<emphasis>CN=Alice Baker,OU=Sales,DC=foo,DC=net</emphasis>
-							(grundsätzlich alle Server
-							<emphasis>außer</emphasis>
-							AD). Wenn diese
-							Option
-							<constant>TRUE</constant>
-							ist, instuiert dies
-							<classname>Zend_Ldap</classname>
-							das der DN automatisch empfangen wird,
-							abhängig vom Benutzernamen der authentifiziert wird, wenn er nicht
-							bereits in DN Form ist, und diesen dann wieder mit der richtigen
-							DN zu
-							binden. Der Standardwert ist
-							<constant>FALSE</constant>
-							. Aktuell ist nur
-							von Microsoft Active Directory Server (
-							<acronym>ADS</acronym>
-							) bekannt
-							das es den Benutzernamen
-							<emphasis>nicht</emphasis>
-							in der DN Form
-							benötigt wenn gebunden wird, und deswegen kann diese Option mit AD auch
-							<constant>FALSE</constant>
-							sein (und sollte das auch, da das Empfangen
-							des DN eine extra Anfrage zum Server benötigt). Andernfalls muß
-							diese
-							Option auf
-							<constant>TRUE</constant>
-							gesetzt werden (z.B. für OpenLDAP).
-							Diese Option kontrolliert das Standard
-							<property>acountFilterFormat</property>
-							das verwendet wird wenn nach
-							Accounts gesucht wird. Siehe auch die
-							<property>accountFilterFormat</property>
-							Option.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>baseDn</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Der Ort vom DN unter dem alle Accounts die authentifiziert
-							werden. Diese
-							Option wird benötigt. Wenn man sich unsicher über den richtigen
-							<property>baseDn</property>
-							ist, sollte es genug sein Ihn von
-							der
-							<acronym>DNS</acronym>
-							Domain des Benutzers der die
-							<emphasis>DC=</emphasis>
-							Komponenten verwedet abzuleiten. Wenn der
-							Hauptname eines Benutzers
-							<filename>alice@foo.net</filename>
-							ist, sollte
-							ein
-							<property>baseDn</property>
-							von
-							<emphasis>DC=foo,DC=net</emphasis>
-							funktionieren. Eine präzisere Ortsangabe
-							(z.B.
-							<emphasis>OU=Sales,DC=foo,DC=net</emphasis>
-							) ist trotzdem
-							effizienter.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>accountCanonicalForm</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Ein Wert von 2, 3 oder 4 zeigt die Form zu der Account Namen
-							authorisiert werden sollten nachdem die Authentifizierung
-							erfolgreich
-							war. Die Werte sind wie folgt: 2 für traditionelle Benutzernamen-Stil
-							Namen (z.B.,
-							<emphasis>alice</emphasis>
-							), 3 für Schrägstrich-Stil Namen
-							(z.B.,
-							<filename>FOO\alice</filename>
-							) oder 4 für Authentifiziert-Sil
-							Namen (z.B.,
-							<filename>alice@foo.net</filename>
-							). Der Standardwert ist 4
-							(z.B.,
-							<filename>alice@foo.net</filename>
-							). Mit einem Wert von 3, z.B.,
-							wird die Identität die von
-							<methodname>Zend_Auth_Result::getIdentity()</methodname>
-							zurückgegeben
-							wird (und
-							<methodname>Zend_Auth::getIdentity()</methodname>
-							, wenn
-							<classname>Zend_Auth</classname>
-							verwendet wird), immer
-							<filename>FOO\alice</filename>
-							sein, unabhängig von der Form in der
-							Alice angegeben wurde, egal ob es
-							<emphasis>alice</emphasis>
-							,
-							<filename>alice@foo.net</filename>
-							,
-							<filename>FOO\alice</filename>
-							,
-							<filename>FoO\aLicE</filename>
-							,
-							<filename>foo.net\alice</filename>
-							, etc.
-							Siehe das Kapitel
-							<emphasis>Kanonisierung von Account Namen</emphasis>
-							in der
-							<classname>Zend_Ldap</classname>
-							Dokumentation für Details. Bei
-							der Verwendung von mehreren Sets von Serveroptionen ist es
-							empfehlenswert, aber nicht notwendig, das die selbe
-							<property>accountCanonicalForm</property>
-							in allen
-							Serveroptionen verwendet wird, sodas die sich ergebenden Benutzernamen
-							immer auf die selbe Art und Weise kanonisiert werden (z.b. wenn man
-							auf
-							<filename>EXAMPLE\username</filename>
-							mit einem AD Server kanonisiert,
-							aber zu
-							<filename>username@example.com</filename>
-							mit einem OpenLDAP
-							Server, kann das quirks für die High-Level Logik einer Anwendung sein).
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>accountDomainName</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Der
-							<acronym>FQDN</acronym>
-							Domainname für welchen der Ziel
-							<acronym>LDAP</acronym>
-							Server eine Authorität ist (z.B.,
-							<filename>example.com</filename>
-							). Diese Option wird verwendet um Namen
-							zu kanonisieren sodas der Benutzername der vom Benutzer angeboten
-							wird,
-							wie es für das Binden notwendig ist, konvertiert werden kann. Er
-							wird
-							auch verwendet um festzustellen ob der Server eine Authorität für den
-							angegebenen Benutzernamen ist (z.B., wenn
-							<property>accountDomainName</property>
-							<filename>foo.net</filename>
-							ist
-							und der angegebene Benutzer
-							<filename>bob@bar.net</filename>
-							, wird der
-							Server nicht abgefragt, und das Ergebnis wird ein Fehler sein). Diese
-							Option wird nicht benötigt, aber wenn Sie nicht angegeben wird,
-							dann
-							werden Benutzernamen in prinzipieller Namensform (z.B.,
-							<filename>alice@foo.net</filename>
-							) nicht unterstützt. Es wird stark
-							empfohlen das diese Option angegeben wird, da es viele Anwendungsfälle
-							gibt welche die Erstellung von prinzipieller Namensform
-							benötigen.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>accountDomainNameShort</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Die 'short' Domain für die der Ziel
-							<acronym>LDAP</acronym>
-							Server eine
-							Authorität ist (z.B.,
-							<acronym>FOO</acronym>
-							). Es ist z ubeachten das
-							es ein 1:1 Mapping zwischen
-							<property>accountDomainName</property>
-							und
-							<property>accountDomainNameShort</property>
-							existiert. Diese
-							Option sollte verwendet werden um den NetBIOS Domainnamen für Windows
-							Netzwerke zu spezifizieren, kann aber auch von nicht-AD Servern
-							verwendet werden (z.B., für Konsistenz bei mehreren Sets von
-							Serveroptionen bei dem Schrägstrich Stil
-							<property>accountCanonicalForm</property>
-							). Diese Option wird nicht
-							benötigt, aber wenn Sie nicht angegeben wird, werden Benutzernamen im
-							Schrägstrich Stil (z.B.
-							<filename>FOO\alice</filename>
-							) nicht
-							unterstützt.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>accountFilterFormat</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Der
-							<acronym>LDAP</acronym>
-							Suchfilter der für die Suche nach Accounts
-							verwendet wird. Dieser String ist ein
-							<ulink url="http://php.net/printf">
-								<methodname>printf()</methodname>
-							</ulink>
-							-Stil
-							Ausdruck der ein '
-							<emphasis>%s</emphasis>
-							' enthalten muß um den
-							Benutzernamen unterzubringen. Der Standardwert ist
-							'
-							<emphasis>(&amp;(objectClass=user)(sAMAccountName=%s))</emphasis>
-							',
-							ausgenommen
-							<property>bindRequiresDn</property>
-							wird auf
-							<constant>TRUE</constant>
-							gesetzt. In diesem Fall ist der Standardwert
-							'
-							<emphasis>(&amp;(objectClass=posixAccount)(uid=%s))</emphasis>
-							'. Wenn,
-							zum Beispiel, aus irgendeinem Grund
-							<emphasis>bindRequiresDn = true</emphasis>
-							mit AD verwendet werden soll,
-							muß
-							<emphasis>accountFilterFormat =
-								'(&amp;(objectClass=user)(sAMAccountName=%s))</emphasis>
-							' gesetzt
-							werden.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>
-								<property>optReferrals</property>
-							</emphasis>
-						</entry>
-
-						<entry>
-							Wenn sie auf
-							<constant>TRUE</constant>
-							gesetzt wird, zeigt diese Option
-							dem
-							<acronym>LDAP</acronym>
-							Client an, das Referenzen gefolgt werden
-							soll. Der Standardwert ist
-							<constant>FALSE</constant>
-							.
-						</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-
-		<note>
-			<para>
-				Wenn
-				<emphasis>
-					useStartTls =
-					<constant>TRUE</constant>
-				</emphasis>
-				oder
-				<emphasis>
-					useSsl =
-					<constant>TRUE</constant>
-				</emphasis>
-				aktiviert ist, erzeugt der
-				<acronym>LDAP</acronym>
-				Client einen Fehler der aussagt das er das Zertifikat des
-				Servers nicht überprüfen kann. Angenommen die
-				<acronym>PHP</acronym>
-				<acronym>LDAP</acronym>
-				Erweiterung ist ultimativ verlinkt mit der OpenLDAP Client
-				Bibliothek, muß man um dieses Problem zu lösen
-				"
-				<command>TLS_REQCERT never</command>
-				" im OpenLDAP Client
-				<filename>ldap.conf</filename>
-				setzen (und den Web Server restarten) um der
-				OpenLDAP Client Bibliothek anzuzeigen das man dem Server vertraut.
-				Alternativ,
-				wenn man annimmt das der Server gehackt werden könnte kann das
-				Basiszertifikat des
-				<acronym>LDAP</acronym>
-				Servers exportiert und auf den Webserver gegeben werden so
-				dass der OpenLDAP Client die Identität des Servers prüfen kann.
-			</para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.ldap.debugging">
-		<title>Debug Nachrichten sammeln</title>
-
-		<para>
-			<classname>Zend_Auth_Adapter_Ldap</classname>
-			sammelt Debug Informationen in seiner
-			<methodname>authenticate()</methodname>
-			Methode. Diese Information wird im
-			<classname>Zend_Auth_Result</classname>
-			Objekt als Nachrichten gespeichert. Das von
-			<methodname>Zend_Auth_Result::getMessages()</methodname>
-			zurückgegebene Array kann wie
-			folgt beschrieben werden:
-		</para>
-
-		<table id="zend.auth.adapter.ldap.debugging.table">
-			<title>Debug Nachrichten</title>
-
-			<tgroup cols="2">
-				<thead>
-					<row>
-						<entry>Array Index der Nachricht</entry>
-						<entry>Beschreibung</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>Index 0</entry>
-
-						<entry>
-							Eine generelle, Benutzerfreundliche Meldung die für die Anzeige für
-							Benutzer passt (z.B. "Ungültige Anmeldedaten"). Wenn die
-							Authentifizierung erfolgreich ist, dann ist dieser String leer.
+        <table id="zend.auth.adapter.ldap.debugging.table">
+            <title>Debug Nachrichten</title>
+
+            <tgroup cols="2">
+                <thead>
+                    <row>
+                        <entry>Array Index der Nachricht</entry>
+                        <entry>Beschreibung</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry>Index 0</entry>
+
+                        <entry>
+                            Eine generelle, Benutzerfreundliche Meldung die für die Anzeige für
+                            Benutzer passt (z.B. "Ungültige Anmeldedaten"). Wenn die
+                            Authentifizierung erfolgreich ist, dann ist dieser String leer.
                         </entry>
-					</row>
-
-					<row>
-						<entry>Index 1</entry>
-
-						<entry>
-							Eine detailiertere Fehlermeldung die nicht für die Anzeige für
-							Benutzer
-							hergenommen werden kann, die aber mitgeloggt werden sollte zum Vorteil
-							des Server Operators. Wenn die Authentifizierung erfolgreich war,
-							ist
-							dieser String leer.
+                    </row>
+
+                    <row>
+                        <entry>Index 1</entry>
+
+                        <entry>
+                            Eine detailiertere Fehlermeldung die nicht für die Anzeige für Benutzer
+                            hergenommen werden kann, die aber mitgeloggt werden sollte zum Vorteil
+                            des Server Operators. Wenn die Authentifizierung erfolgreich war, ist
+                            dieser String leer.
                         </entry>
-					</row>
-
-					<row>
-						<entry>Indezes 2 und höher</entry>
-						<entry>Alle Logmeldungen in Reihenfolge starten bei Index 2.</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-
-		<para>
-			Aus der Praxis heraus sollte der Index 0 dem Benutzer angezeigt werden
-			(z.B. bei
-			Verwendung des FlashMessenger Helfers), Index 1 sollte geloggt werden und, wenn
-			die
-			Debugging Information gesammelt wird, sollten die Indezes 2 und höher auch
-			geloggt
-			werden (auch wenn die letzte Nachricht immer den String vom Index 1
-			enthält).
+                    </row>
+
+                    <row>
+                        <entry>Indezes 2 und höher</entry>
+                        <entry>Alle Logmeldungen in Reihenfolge starten bei Index 2.</entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <para>
+            Aus der Praxis heraus sollte der Index 0 dem Benutzer angezeigt werden (z.B. bei
+            Verwendung des FlashMessenger Helfers), Index 1 sollte geloggt werden und, wenn die
+            Debugging Information gesammelt wird, sollten die Indezes 2 und höher auch geloggt
+            werden (auch wenn die letzte Nachricht immer den String vom Index 1 enthält).
         </para>
-	</sect2>
-
-	<sect2 id="zend.auth.adapter.ldap.options-common-server-specific">
-		<title>Übliche Optionen für spezielle Server</title>
-
-		<sect3
-			id="zend.auth.adapter.ldap.options-common-server-specific.active-directory">
-			<title>Optionen für Active Directory</title>
-
-			<para>
-				Für
-				<acronym>ADS</acronym>
-				sind die folgenden Optionen beachtenswert:
-			</para>
-
-			<table
-				id="zend.auth.adapter.ldap.options-common-server-specific.active-directory.table">
-				<title>Optionen für Active Directory</title>
-
-				<tgroup cols="2">
-					<thead>
-						<row>
-							<entry>Name</entry>
-							<entry>Zusätzliche Notizen</entry>
-						</row>
-					</thead>
-
-					<tbody>
-						<row>
-							<entry>
-								<emphasis>
-									<property>host</property>
-								</emphasis>
-							</entry>
-							<entry>Wie bei allen Servern, wird diese Option benötigt.</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>useStartTls</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Zum Zwecke der Sicherheit, sollte das
-								<constant>TRUE</constant>
-								sein
-								wenn der Server das notwendige Zertifikat installiert hat.
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>useSsl</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Möglicherweise als Alternative zu
-								<emphasis>useStartTls</emphasis>
-								zu verwenden (siehe davor).
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>baseDn</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Wie bei allen Servern, wird diese Option benötigt. Standardmäßig
-								platziert AD alle Benutzer Accounts unter dem
-								<emphasis>Users</emphasis>
-								Container (z.B.,
-								<emphasis>CN=Users,DC=foo,DC=net</emphasis>
-								), aber der Standard ist
-								in größeren Organisationen nicht üblich. Der AD Administrator
-								sollte
-								nach der besten DN für Accounts für die eigene Anwendung gefragt
-								werden.
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>accountCanonicalForm</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Das wird man normalerweise für Schrägstrich-Stil Namen auf 3
-								stellen
-								(z.B.,
-								<filename>FOO\alice</filename>
-								), was für Windows Benutzer am
-								bekanntesten ist. Man sollte
-								<emphasis>nicht</emphasis>
-								die
-								unqualifizierte Form 2 verwenden (z.B.,
-								<emphasis>alice</emphasis>
-								),
-								da das anderen Benutzern Zugriff auf die Anwendung geben würde,
-								wenn
-								Sie den gleichen Benutzernamen in anderen vertrauten Domains haben
-								(z.B.,
-								<filename>BAR\alice</filename>
-								und
-								<filename>FOO\alice</filename>
-								würden als der gleiche Benutzer
-								behandelt). (siehe auch die Notiz anbei.)
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>accountDomainName</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Das wird mit AD benötigt, ausser
-								<property>accountCanonicalForm</property>
-								2 wird
-								verwendet, was wiederum nicht eingesetzt werden sollte.
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>accountDomainNameShort</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Der NetBIOS Name der Domain in der die Benutzer sind und für den
-								der
-								AD Server die Authorität ist. Das wird benötigt wenn der
-								Schrägstrich-Stil
-								<property>accountCanonicalForm</property>
-								verwendet wird.
-							</entry>
-						</row>
-					</tbody>
-				</tgroup>
-			</table>
-
-			<note>
-				<para>
-					Technisch sollte es keine Probleme mit irrtümlichen
-					Domain-übergreifenden
-					Authentifizierungen mit der aktuellen
-					<classname>Zend_Auth_Adapter_Ldap</classname>
-					Implementation geben, da
-					Serverdomains explizit geprüft werden, aber das muss für zukünftige
-					Implementationen, welche die Domain während der Laufzeit ermitteln,
-					nicht wahr
-					sein, oder auch wenn ein alternativer Adapter verwendet wird (z.B.,
-					Kerberos).
-					Generell ist bekannt das die Mehrdeutigkeit von Accountnamen ein
-					Sicherheitsproblem ist. Man sollte deswegen immer versuchen
-					qualifizierte
-					Accountnamen zu verwenden.
-				</para>
-			</note>
-		</sect3>
-
-		<sect3
-			id="zend.auth.adapter.ldap.options-common-server-specific.openldap">
-			<title>Optionen für OpenLDAP</title>
-
-			<para>
-				Für OpenLDAP oder einen generellen
-				<acronym>LDAP</acronym>
-				Server der ein typisches
-				posixAccount Stil Schema verwendet sind die folgenden Optionen beachtenswert:
-			</para>
-
-			<table
-				id="zend.auth.adapter.ldap.options-common-server-specific.openldap.table">
-				<title>Optionen für OpenLDAP</title>
-
-				<tgroup cols="2">
-					<thead>
-						<row>
-							<entry>Name</entry>
-							<entry>Zusätzliche Notizen</entry>
-						</row>
-					</thead>
-
-					<tbody>
-						<row>
-							<entry>
-								<emphasis>
-									<property>host</property>
-								</emphasis>
-							</entry>
-							<entry>Wie bei allen Servern, wird diese Option benötigt.</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>useStartTls</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Zum Zwecke der Sicherheit, sollte das
-								<constant>TRUE</constant>
-								sein
-								wenn der Server das notwendige Zertifikat installiert hat.
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>useSsl</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Möglicherweise als Alternative zu
-								<property>useStartTls</property>
-								zu verwenden (siehe davor).
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>username</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Benötigt und muß ein DN sein, da OpenLDAP den Benutzernamen in DN
-								Form benötigt wenn ein Binden durchgeführt wird. Es sollte versucht
-								werden einen nicht privilegierten Account zu verwenden.
+    </sect2>
+
+    <sect2 id="zend.auth.adapter.ldap.options-common-server-specific">
+        <title>Übliche Optionen für spezielle Server</title>
+
+        <sect3 id="zend.auth.adapter.ldap.options-common-server-specific.active-directory">
+            <title>Optionen für Active Directory</title>
+
+            <para>
+                Für <acronym>ADS</acronym> sind die folgenden Optionen beachtenswert:
+            </para>
+
+            <table
+                id="zend.auth.adapter.ldap.options-common-server-specific.active-directory.table">
+                <title>Optionen für Active Directory</title>
+
+                <tgroup cols="2">
+                    <thead>
+                        <row>
+                            <entry>Name</entry>
+                            <entry>Zusätzliche Notizen</entry>
+                        </row>
+                    </thead>
+
+                    <tbody>
+                        <row>
+                            <entry><emphasis><property>host</property></emphasis></entry>
+                            <entry>Wie bei allen Servern, wird diese Option benötigt.</entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>useStartTls</property></emphasis></entry>
+
+                            <entry>
+                                Zum Zwecke der Sicherheit, sollte das <constant>TRUE</constant> sein
+                                wenn der Server das notwendige Zertifikat installiert hat.
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>useSsl</property></emphasis></entry>
+
+                            <entry>
+                                Möglicherweise als Alternative zu <emphasis>useStartTls</emphasis>
+                                zu verwenden (siehe davor).
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>baseDn</property></emphasis></entry>
+
+                            <entry>
+                                Wie bei allen Servern, wird diese Option benötigt. Standardmäßig
+                                platziert AD alle Benutzer Accounts unter dem
+                                <emphasis>Users</emphasis> Container (z.B.,
+                                <emphasis>CN=Users,DC=foo,DC=net</emphasis>), aber der Standard ist
+                                in größeren Organisationen nicht üblich. Der AD Administrator sollte
+                                nach der besten DN für Accounts für die eigene Anwendung gefragt
+                                werden.
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>accountCanonicalForm</property></emphasis></entry>
+
+                            <entry>
+                                Das wird man normalerweise für Schrägstrich-Stil Namen auf 3 stellen
+                                (z.B., <filename>FOO\alice</filename>), was für Windows Benutzer am
+                                bekanntesten ist. Man sollte <emphasis>nicht</emphasis> die
+                                unqualifizierte Form 2 verwenden (z.B., <emphasis>alice</emphasis>),
+                                da das anderen Benutzern Zugriff auf die Anwendung geben würde, wenn
+                                Sie den gleichen Benutzernamen in anderen vertrauten Domains haben
+                                (z.B., <filename>BAR\alice</filename> und
+                                <filename>FOO\alice</filename> würden als der gleiche Benutzer
+                                behandelt). (siehe auch die Notiz anbei.)
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>accountDomainName</property></emphasis></entry>
+
+                            <entry>
+                                Das wird mit AD benötigt, ausser
+                                <property>accountCanonicalForm</property> 2 wird
+                                verwendet, was wiederum nicht eingesetzt werden sollte.
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>accountDomainNameShort</property></emphasis></entry>
+
+                            <entry>
+                                Der NetBIOS Name der Domain in der die Benutzer sind und für den der
+                                AD Server die Authorität ist. Das wird benötigt wenn der
+                                Schrägstrich-Stil <property>accountCanonicalForm</property>
+                                verwendet wird.
+                            </entry>
+                        </row>
+                    </tbody>
+                </tgroup>
+            </table>
+
+            <note>
+                <para>
+                    Technisch sollte es keine Probleme mit irrtümlichen Domain-übergreifenden
+                    Authentifizierungen mit der aktuellen
+                    <classname>Zend_Auth_Adapter_Ldap</classname> Implementation geben, da
+                    Serverdomains explizit geprüft werden, aber das muss für zukünftige
+                    Implementationen, welche die Domain während der Laufzeit ermitteln, nicht wahr
+                    sein, oder auch wenn ein alternativer Adapter verwendet wird (z.B., Kerberos).
+                    Generell ist bekannt das die Mehrdeutigkeit von Accountnamen ein
+                    Sicherheitsproblem ist. Man sollte deswegen immer versuchen qualifizierte
+                    Accountnamen zu verwenden.
+                </para>
+            </note>
+        </sect3>
+
+        <sect3 id="zend.auth.adapter.ldap.options-common-server-specific.openldap">
+            <title>Optionen für OpenLDAP</title>
+
+            <para>
+                Für OpenLDAP oder einen generellen <acronym>LDAP</acronym> Server der ein typisches
+                posixAccount Stil Schema verwendet sind die folgenden Optionen beachtenswert:
+            </para>
+
+            <table id="zend.auth.adapter.ldap.options-common-server-specific.openldap.table">
+                <title>Optionen für OpenLDAP</title>
+
+                <tgroup cols="2">
+                    <thead>
+                        <row>
+                            <entry>Name</entry>
+                            <entry>Zusätzliche Notizen</entry>
+                        </row>
+                    </thead>
+
+                    <tbody>
+                        <row>
+                            <entry><emphasis><property>host</property></emphasis></entry>
+                            <entry>Wie bei allen Servern, wird diese Option benötigt.</entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>useStartTls</property></emphasis></entry>
+
+                            <entry>
+                                Zum Zwecke der Sicherheit, sollte das <constant>TRUE</constant> sein
+                                wenn der Server das notwendige Zertifikat installiert hat.
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>useSsl</property></emphasis></entry>
+
+                            <entry>
+                                Möglicherweise als Alternative zu <property>useStartTls</property>
+                                zu verwenden (siehe davor).
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>username</property></emphasis></entry>
+
+                            <entry>
+                                Benötigt und muß ein DN sein, da OpenLDAP den Benutzernamen in DN
+                                Form benötigt wenn ein Binden durchgeführt wird. Es sollte versucht
+                                werden einen nicht privilegierten Account zu verwenden.
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>password</property></emphasis></entry>
+
+                            <entry>
+                                Das Passwort das zum Benutzernamen von oben gehört. Es kann aber
+                                unterdrückt werden wenn der <acronym>LDAP</acronym> Server anonymes
+                                Binden bei Abfragen zu Benutzer Accounts erlaubt.
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>bindRequiresDn</property></emphasis></entry>
+
+                            <entry>
+                                Benötigt und muß <constant>TRUE</constant> sein, da OpenLDAP den
+                                Benutzernamen in DN Form benötigt wenn ein Binden durchgeführt wird.
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>baseDn</property></emphasis></entry>
+
+                            <entry>
+                                Wie bei allen Servern, wird diese Option benötigt und zeigt den DN
+                                in dem alle Accounts die authentifiziert werden enthalten sind.
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>accountCanonicalForm</property></emphasis></entry>
+
+                            <entry>
+                                Optional, aber der Standardwert ist 4 (prinzipielle-Stil Namen wie
+                                <filename>alice@foo.net</filename>) und könnte für die Benutzer
+                                nicht ideal sein wenn diese Schrägstrich-Stil Namen verwendetn
+                                (z.B., <filename>FOO\alice</filename>). Für Schrägstrich-Stil Namen
+                                sollte der Wert 3 verwendet werden.
+                            </entry>
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>accountDomainName</property></emphasis></entry>
+
+                            <entry>
+                                Benötigt es sei denn man verwendet
+                                <property>accountCanonicalForm</property> 2, was nicht
+                                zu empfehlen ist.
                             </entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>password</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Das Passwort das zum Benutzernamen von oben gehört. Es kann aber
-								unterdrückt werden wenn der
-								<acronym>LDAP</acronym>
-								Server anonymes
-								Binden bei Abfragen zu Benutzer Accounts erlaubt.
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>bindRequiresDn</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Benötigt und muß
-								<constant>TRUE</constant>
-								sein, da OpenLDAP den
-								Benutzernamen in DN Form benötigt wenn ein Binden durchgeführt wird.
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>baseDn</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Wie bei allen Servern, wird diese Option benötigt und zeigt den DN
-								in dem alle Accounts die authentifiziert werden enthalten sind.
+                        </row>
+
+                        <row>
+                            <entry><emphasis><property>accountDomainNameShort</property></emphasis></entry>
+
+                            <entry>
+                                Wenn AD auch nicht verwendet wird, wird dieser Wert nicht benötigt.
+                                Andernfalls, wenn
+                                <property>accountCanonicalForm</property> 3 verwendet
+                                wird, wird diese Option benötigt und sollte ein Kurzname sein der
+                                adäquat zu <property>accountDomainName</property>
+                                korrespondiert (z.B., wenn
+                                <property>accountDomainName</property>
+                                <filename>foo.net</filename> ist, wäre ein guter
+                                <property>accountDomainNameShort</property> Wert
+                                <acronym>FOO</acronym>).
                             </entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>accountCanonicalForm</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Optional, aber der Standardwert ist 4 (prinzipielle-Stil Namen
-								wie
-								<filename>alice@foo.net</filename>
-								) und könnte für die Benutzer
-								nicht ideal sein wenn diese Schrägstrich-Stil Namen verwendetn
-								(z.B.,
-								<filename>FOO\alice</filename>
-								). Für Schrägstrich-Stil Namen
-								sollte der Wert 3 verwendet werden.
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>accountDomainName</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Benötigt es sei denn man verwendet
-								<property>accountCanonicalForm</property>
-								2, was nicht
-								zu empfehlen ist.
-							</entry>
-						</row>
-
-						<row>
-							<entry>
-								<emphasis>
-									<property>accountDomainNameShort</property>
-								</emphasis>
-							</entry>
-
-							<entry>
-								Wenn AD auch nicht verwendet wird, wird dieser Wert nicht
-								benötigt.
-								Andernfalls, wenn
-								<property>accountCanonicalForm</property>
-								3 verwendet
-								wird, wird diese Option benötigt und sollte ein Kurzname sein der
-								adäquat zu
-								<property>accountDomainName</property>
-								korrespondiert (z.B., wenn
-								<property>accountDomainName</property>
-								<filename>foo.net</filename>
-								ist, wäre ein guter
-								<property>accountDomainNameShort</property>
-								Wert
-								<acronym>FOO</acronym>
-								).
-							</entry>
-						</row>
-					</tbody>
-				</tgroup>
-			</table>
-		</sect3>
-	</sect2>
+                        </row>
+                    </tbody>
+                </tgroup>
+            </table>
+        </sect3>
+    </sect2>
 </sect1>

+ 81 - 136
documentation/manual/de/module_specs/Zend_Auth_Adapter_OpenId.xml

@@ -2,134 +2,86 @@
 <!-- EN-Revision: 20763 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.auth.adapter.openid">
-	<title>Open ID Authentifikation</title>
+    <title>Open ID Authentifikation</title>
 
-	<sect2 id="zend.auth.adapter.openid.introduction">
-		<title>Einführung</title>
+    <sect2 id="zend.auth.adapter.openid.introduction">
+        <title>Einführung</title>
 
-		<para>
-			Der
-			<classname>Zend_Auth_Adapter_OpenId</classname>
-			Adapter kann verwendet werden um
-			Benutzer durch Verwendung eines entfernten OpenID Servers zu
-			authentifizieren. Diese
-			Authentifizierungsmethode nimmt an das Benutzer nur ihre OpenID Identität an die Web
-			Anwendung übermitteln. Dann werden Sie zu Ihrem OpenID Anbieter umgeleitet um
-			die
-			Eigentümerschaft der Identität mit Hilfe eines Passwortes oder einer anderen Methode
-			zu
-			prüfen. Dieses Passwort wird der Web Anwendung nie bekannt gegeben.
-		</para>
+        <para>
+            Der <classname>Zend_Auth_Adapter_OpenId</classname> Adapter kann verwendet werden um
+            Benutzer durch Verwendung eines entfernten OpenID Servers zu authentifizieren. Diese
+            Authentifizierungsmethode nimmt an das Benutzer nur ihre OpenID Identität an die Web
+            Anwendung übermitteln. Dann werden Sie zu Ihrem OpenID Anbieter umgeleitet um die
+            Eigentümerschaft der Identität mit Hilfe eines Passwortes oder einer anderen Methode zu
+            prüfen. Dieses Passwort wird der Web Anwendung nie bekannt gegeben.
+        </para>
 
-		<para>
-			Die OpenID Identität ist nur eine
-			<acronym>URL</acronym>
-			die auf eine Webseite mit
-			entsprechenden Informationen über den Benutzer und spezielle Tags verweist welche
-			beschreiben welcher Server verwendet werden soll und welche Identität
-			dort zu
-			übermitteln ist. Mehr über OpenID kann auf der
-			<ulink url="http://www.openid.net/">offiziellen OpenID Site</ulink>
-			nachgelesen werden.
-		</para>
+        <para>
+            Die OpenID Identität ist nur eine <acronym>URL</acronym> die auf eine Webseite mit
+            entsprechenden Informationen über den Benutzer und spezielle Tags verweist welche
+            beschreiben welcher Server verwendet werden soll und welche Identität dort zu
+            übermitteln ist. Mehr über OpenID kann auf der
+            <ulink url="http://www.openid.net/">offiziellen OpenID Site</ulink> nachgelesen werden.
+        </para>
 
-		<para>
-			Die
-			<classname>Zend_Auth_Adapter_OpenId</classname>
-			Klasse umgibt die
-			<classname>Zend_OpenId_Consumer</classname>
-			Komponente welche das OpenID
-			Authentifizierungs Protokoll selbst implementiert.
-		</para>
+        <para>
+            Die <classname>Zend_Auth_Adapter_OpenId</classname> Klasse umgibt die
+            <classname>Zend_OpenId_Consumer</classname> Komponente welche das OpenID
+            Authentifizierungs Protokoll selbst implementiert.
+        </para>
 
-		<note>
-			<para>
-				<classname>Zend_OpenId</classname>
-				hat Vorteile davon wenn die
-				<ulink url="http://php.net/gmp">GMP Erweiterung</ulink>
-				vorhanden ist. Es sollte
-				Angedacht werden die
-				<acronym>GMP</acronym>
-				Erweiterung für eine bessere
-				Performance einzuschalten wenn
-				<classname>Zend_Auth_Adapter_OpenId</classname>
-				verwendet wird.
-			</para>
-		</note>
-	</sect2>
+        <note>
+            <para>
+                <classname>Zend_OpenId</classname> hat Vorteile davon wenn die
+                <ulink url="http://php.net/gmp">GMP Erweiterung</ulink> vorhanden ist. Es sollte
+                Angedacht werden die <acronym>GMP</acronym> Erweiterung für eine bessere
+                Performance einzuschalten wenn <classname>Zend_Auth_Adapter_OpenId</classname>
+                verwendet wird.
+            </para>
+        </note>
+    </sect2>
 
-	<sect2 id="zend.auth.adapter.openid.specifics">
-		<title>Spezielles</title>
+    <sect2 id="zend.auth.adapter.openid.specifics">
+        <title>Spezielles</title>
 
-		<para>
-			Wie in diesem Fall für alle
-			<classname>Zend_Auth</classname>
-			Adapter, implementiert die
-			<classname>Zend_Auth_Adapter_OpenId</classname>
-			Klasse das
-			<classname>Zend_Auth_Adapter_Interface</classname>
-			, welches nur eine Methode definiert:
-			<methodname>authenticate()</methodname>
-			. Diese Methode führt die Authentifizierung
-			selbst durch, allerdings muß das Objekt vor dem Aufruf vorbereitet werden.
-			So eine
-			Vorbereitung des Adapters beinhaltet das Setzen der OpenID Identität und einige
-			andere
-			<classname>Zend_OpenId</classname>
-			spezifische Optionen.
-		</para>
+        <para>
+            Wie in diesem Fall für alle <classname>Zend_Auth</classname> Adapter, implementiert die
+            <classname>Zend_Auth_Adapter_OpenId</classname> Klasse das
+            <classname>Zend_Auth_Adapter_Interface</classname>, welches nur eine Methode definiert:
+            <methodname>authenticate()</methodname>. Diese Methode führt die Authentifizierung
+            selbst durch, allerdings muß das Objekt vor dem Aufruf vorbereitet werden. So eine
+            Vorbereitung des Adapters beinhaltet das Setzen der OpenID Identität und einige andere
+            <classname>Zend_OpenId</classname> spezifische Optionen.
+        </para>
 
-		<para>
-			Trotzdem, im Gegensatz zu anderen
-			<classname>Zend_Auth</classname>
-			Adaptern führt
-			<classname>Zend_Auth_Adapter_OpenId</classname>
-			Authentifizierungen an einem externen
-			Server durch und das wird in zwei separaten
-			<acronym>HTTP</acronym>
-			Anfragen getan.
-			Deswegen muß
-			<methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname>
-			zweimal
-			aufgerufen werden. Beim ersten Aufruf wird die Methode nichts zurückgeben, aber
-			den
-			Benutzer zu seinem OpenID Server umleiten. Dann, nachdem der Benutzer auf dem
-			entfernten Server authentifiziert ist wird dieser wieder zurück
-			umleiten und das Skript
-			muß für diese zweite Anfrage
-			<methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname>
-			nochmals aufrufen um
-			die Signatur zu prüfen, welche mit der umgeleiteten Anfrage vom Server
-			geschickt wird,
-			und den Authentifikationsprozess zu beenden. Bei diesem zweiten Aufruf
-			wird wie
-			erwartet ein
-			<classname>Zend_Auth_Result</classname>
-			Objekt zurückgegeben.
-		</para>
+        <para>
+            Trotzdem, im Gegensatz zu anderen <classname>Zend_Auth</classname> Adaptern führt
+            <classname>Zend_Auth_Adapter_OpenId</classname> Authentifizierungen an einem externen
+            Server durch und das wird in zwei separaten <acronym>HTTP</acronym> Anfragen getan.
+            Deswegen muß <methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname> zweimal
+            aufgerufen werden. Beim ersten Aufruf wird die Methode nichts zurückgeben, aber den
+            Benutzer zu seinem OpenID Server umleiten. Dann, nachdem der Benutzer auf dem
+            entfernten Server authentifiziert ist wird dieser wieder zurück umleiten und das Skript
+            muß für diese zweite Anfrage
+            <methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname> nochmals aufrufen um
+            die Signatur zu prüfen, welche mit der umgeleiteten Anfrage vom Server geschickt wird,
+            und den Authentifikationsprozess zu beenden. Bei diesem zweiten Aufruf wird wie
+            erwartet ein <classname>Zend_Auth_Result</classname> Objekt zurückgegeben.
+        </para>
 
-		<para>
-			Das folgende Beispiel zeigt die Verwendung von
-			<classname>Zend_Auth_Adapter_OpenId</classname>
-			. Wie vorher erwähnt wird die
-			<methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname>
-			Methode zweimal
-			aufgerufen. Das erste Mal, ist nachdem der Benutzer das
-			<acronym>HTML</acronym>
-			Formular übermittelt hat und
-			<varname>$_POST['openid_action']</varname>
-			auf
-			<emphasis>"login"</emphasis>
-			gesetzt wurde, und das zweite Mal nach der
-			<acronym>HTTP</acronym>
-			Umleitung vom OpenID Server wenn
-			<varname>$_GET['openid_mode']</varname>
-			oder
-			<varname>$_POST['openid_mode']</varname>
-			gesetzt wurde.
-		</para>
+        <para>
+            Das folgende Beispiel zeigt die Verwendung von
+            <classname>Zend_Auth_Adapter_OpenId</classname>. Wie vorher erwähnt wird die
+            <methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname> Methode zweimal
+            aufgerufen. Das erste Mal, ist nachdem der Benutzer das <acronym>HTML</acronym>
+            Formular übermittelt hat und <varname>$_POST['openid_action']</varname> auf
+            <emphasis>"login"</emphasis> gesetzt wurde, und das zweite Mal nach der
+            <acronym>HTTP</acronym> Umleitung vom OpenID Server wenn
+            <varname>$_GET['openid_mode']</varname> oder
+            <varname>$_POST['openid_mode']</varname> gesetzt wurde.
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $status = "";
 $auth = Zend_Auth::getInstance();
 if ((isset($_POST['openid_action']) &&
@@ -171,22 +123,15 @@ if ((isset($_POST['openid_action']) &&
 */
 ]]></programlisting>
 
-		<para>
-			Man kann den OpenID Authentifizierungs Prozess auf verschiedenen
-			Wegen anzupassen. Man
-			kann,zum Bespiel, die Umleitung des OpenID Servers auf eine eigene Seite
-			erhalten, indem
-			der "root" der Webseite spezifiziert wird und ein eigener
-			<classname>Zend_OpenId_Consumer_Storage</classname>
-			oder
-			<classname>Zend_Controller_Response</classname>
-			verwendet wird. Man kann auch eine
-			einfache Registrierungserweiterung verwenden um Informationen über den
-			Benutzer vom
-			OpenID Server zu erhalten. Alle diese Möglichkeiten werden detailierter im
-			Kapitel
-			<classname>Zend_OpenId_Consumer</classname>
-			beschrieben.
-		</para>
-	</sect2>
+        <para>
+            Man kann den OpenID Authentifizierungs Prozess auf verschiedenen Wegen anzupassen. Man
+            kann,zum Bespiel, die Umleitung des OpenID Servers auf eine eigene Seite erhalten, indem
+            der "root" der Webseite spezifiziert wird und ein eigener
+            <classname>Zend_OpenId_Consumer_Storage</classname> oder
+            <classname>Zend_Controller_Response</classname> verwendet wird. Man kann auch eine
+            einfache Registrierungserweiterung verwenden um Informationen über den Benutzer vom
+            OpenID Server zu erhalten. Alle diese Möglichkeiten werden detailierter im Kapitel
+            <classname>Zend_OpenId_Consumer</classname> beschrieben.
+        </para>
+    </sect2>
 </sect1>

+ 116 - 143
documentation/manual/de/module_specs/Zend_Barcode-Creation.xml

@@ -2,74 +2,61 @@
 <!-- EN-Revision: 19695 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.barcode.creation">
-	<title>Barcodes mit Hilfe der Zend_Barcode Klasse erstellen</title>
-
-	<sect2 id="zend.barcode.creation.configuration">
-		<title>Verwendung von Zend_Barcode::factory</title>
-
-		<para>
-			<classname>Zend_Barcode</classname>
-			verwendet eine Factory Methode um die Instanz eines
-			Renderers zu erstellen der
-			<classname>Zend_Barcode_Renderer_RendererAbstract</classname>
-			erweitert. Die Factory Methode akzeptiert fünf Argumente.
-		</para>
-
-		<orderedlist>
-			<listitem>
-				<para>Der Name des Barcode Formats (z.B., "code39") (benötigt)</para>
-			</listitem>
-
-			<listitem>
-				<para>Der Name des Renderers (z.B., "image") (benötigt)</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Optionen die an das Barcode Objekt übergeben werden (ein Array oder
-					<classname>Zend_Config</classname>
-					Objekt) (optional)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Optionen die an das Renderer Objekt übergeben werden (ein Array
-					oder
-					<classname>Zend_Config</classname>
-					Object) (optional)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Ein Boolean um anzuzeigen ob Fehler automatisch dargestellt werden
-					sollen oder
-					nicht. Wenn eine Exception stattfindet, wird das angegebene Barcode
-					Objekt mit
-					der Repräsentation des Fehlers ersetzt (optional der Standardwert
-					<constant>TRUE</constant>
-					)
-				</para>
-			</listitem>
-		</orderedlist>
-
-		<example id="zend.barcode.creation.configuration.example-1">
-			<title>Einen Renderer mit Zend_Barcode::factory() erhalten</title>
-
-			<para>
-				<methodname>Zend_Barcode::factory()</methodname>
-				instanziert Barcode Objekte und
-				Renderer und verbindet diese miteinander. In diesem ersten Beispiel
-				verwenden wir
-				den
-				<emphasis>Code39</emphasis>
-				Barcode Typ zusammen mit dem
-				<emphasis>Image</emphasis>
-				Renderer.
-			</para>
-
-			<programlisting language="php"><![CDATA[
+    <title>Barcodes mit Hilfe der Zend_Barcode Klasse erstellen</title>
+
+    <sect2 id="zend.barcode.creation.configuration">
+        <title>Verwendung von Zend_Barcode::factory</title>
+
+        <para>
+            <classname>Zend_Barcode</classname> verwendet eine Factory Methode um die Instanz eines
+            Renderers zu erstellen der <classname>Zend_Barcode_Renderer_RendererAbstract</classname>
+            erweitert. Die Factory Methode akzeptiert fünf Argumente.
+        </para>
+
+        <orderedlist>
+            <listitem>
+                <para>Der Name des Barcode Formats (z.B., "code39") (benötigt)</para>
+            </listitem>
+
+            <listitem>
+                <para>Der Name des Renderers (z.B., "image") (benötigt)</para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Optionen die an das Barcode Objekt übergeben werden (ein Array oder
+                    <classname>Zend_Config</classname> Objekt) (optional)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Optionen die an das Renderer Objekt übergeben werden (ein Array oder
+                    <classname>Zend_Config</classname> Object) (optional)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Ein Boolean um anzuzeigen ob Fehler automatisch dargestellt werden sollen oder
+                    nicht. Wenn eine Exception stattfindet, wird das angegebene Barcode Objekt mit
+                    der Repräsentation des Fehlers ersetzt (optional der Standardwert
+                    <constant>TRUE</constant>)
+                </para>
+            </listitem>
+        </orderedlist>
+
+        <example id="zend.barcode.creation.configuration.example-1">
+            <title>Einen Renderer mit Zend_Barcode::factory() erhalten</title>
+
+            <para>
+                <methodname>Zend_Barcode::factory()</methodname> instanziert Barcode Objekte und
+                Renderer und verbindet diese miteinander. In diesem ersten Beispiel verwenden wir
+                den <emphasis>Code39</emphasis> Barcode Typ zusammen mit dem
+                <emphasis>Image</emphasis> Renderer.
+            </para>
+
+            <programlisting language="php"><![CDATA[
 // Nur der darzustellende Text wird benötigt
 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
 
@@ -79,21 +66,18 @@ $renderer = Zend_Barcode::factory(
     'code39', 'image', $barcodeOptions, $rendererOptions
 );
 ]]></programlisting>
-		</example>
+        </example>
 
-		<example id="zend.barcode.creation.configuration.example-2">
-			<title>Zend_Barcode::factory() mit Zend_Config Objekten verwenden</title>
+        <example id="zend.barcode.creation.configuration.example-2">
+            <title>Zend_Barcode::factory() mit Zend_Config Objekten verwenden</title>
 
-			<para>
-				Man kann ein
-				<classname>Zend_Config</classname>
-				Objekt an die Factory übergeben um
-				die notwendigen Objekte zu erstellen. Das folgende Beispiel ist
-				funktionell
-				identisch mit dem vorherigen.
-			</para>
+            <para>
+                Man kann ein <classname>Zend_Config</classname> Objekt an die Factory übergeben um
+                die notwendigen Objekte zu erstellen. Das folgende Beispiel ist funktionell
+                identisch mit dem vorherigen.
+            </para>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 // Nur ein Zend_Config Objekt verwenden
 $config = new Zend_Config(array(
     'barcode'        => 'code39',
@@ -104,28 +88,23 @@ $config = new Zend_Config(array(
 
 $renderer = Zend_Barcode::factory($config);
 ]]></programlisting>
-		</example>
-	</sect2>
-
-	<sect2 id="zend.barcode.creation.drawing">
-		<title>Einen Barcode zeichnen</title>
-
-		<para>
-			Wenn der Barcode
-			<emphasis>gezeichnet</emphasis>
-			wird, empfängt man die Ressource in
-			welcher der Barcode gezeichnet wird. Um einen Barcode zu zeichnen kann man
-			die
-			<methodname>draw()</methodname>
-			Methode des Renderers aufrufen, oder einfach die von
-			<classname>Zend_Barcode</classname>
-			angebotene Proxy Methode verwenden.
-		</para>
-
-		<example id="zend.barcode.creation.drawing.example-1">
-			<title>Einen Barcode mit dem Renderer Objekt zeichnen</title>
-
-			<programlisting language="php"><![CDATA[
+        </example>
+    </sect2>
+
+    <sect2 id="zend.barcode.creation.drawing">
+        <title>Einen Barcode zeichnen</title>
+
+        <para>
+            Wenn der Barcode <emphasis>gezeichnet</emphasis> wird, empfängt man die Ressource in
+            welcher der Barcode gezeichnet wird. Um einen Barcode zu zeichnen kann man die
+            <methodname>draw()</methodname> Methode des Renderers aufrufen, oder einfach die von
+            <classname>Zend_Barcode</classname> angebotene Proxy Methode verwenden.
+        </para>
+
+        <example id="zend.barcode.creation.drawing.example-1">
+            <title>Einen Barcode mit dem Renderer Objekt zeichnen</title>
+
+            <programlisting language="php"><![CDATA[
 // Nur der zu zeichnende Text wird benötigt
 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
 
@@ -137,12 +116,12 @@ $imageResource = Zend_Barcode::factory(
     'code39', 'image', $barcodeOptions, $rendererOptions
 )->draw();
 ]]></programlisting>
-		</example>
+        </example>
 
-		<example id="zend.barcode.creation.drawing.example-2">
-			<title>Einen Barcode mit Zend_Barcode::draw() zeichnen</title>
+        <example id="zend.barcode.creation.drawing.example-2">
+            <title>Einen Barcode mit Zend_Barcode::draw() zeichnen</title>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 // Nur der zu zeichnende Text wird benötigt
 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
 
@@ -154,29 +133,23 @@ $imageResource = Zend_Barcode::draw(
     'code39', 'image', $barcodeOptions, $rendererOptions
 );
 ]]></programlisting>
-		</example>
-	</sect2>
-
-	<sect2 id="zend.barcode.creation.renderering">
-		<title>Einen Barcode darstellen</title>
-
-		<para>
-			Wenn man einen Barcode darstellt, zeichnet man den Barcode, man
-			sendet die Header und
-			man sendet die Ressource (z.B. zu einem Browser). Um einen Barcode
-			darzustellen muss
-			man die
-			<methodname>render()</methodname>
-			Methode des Renderers aufrufen, oder einfach
-			die Proxy Methode verwenden die von
-			<classname>Zend_Barcode</classname>
-			angeboten wird.
-		</para>
-
-		<example id="zend.barcode.creation.renderering.example-1">
-			<title>Einen Barcode mit dem Renderer Objekt darstellen</title>
-
-			<programlisting language="php"><![CDATA[
+        </example>
+    </sect2>
+
+    <sect2 id="zend.barcode.creation.renderering">
+        <title>Einen Barcode darstellen</title>
+
+        <para>
+            Wenn man einen Barcode darstellt, zeichnet man den Barcode, man sendet die Header und
+            man sendet die Ressource (z.B. zu einem Browser). Um einen Barcode darzustellen muss
+            man die <methodname>render()</methodname> Methode des Renderers aufrufen, oder einfach
+            die Proxy Methode verwenden die von <classname>Zend_Barcode</classname> angeboten wird.
+        </para>
+
+        <example id="zend.barcode.creation.renderering.example-1">
+            <title>Einen Barcode mit dem Renderer Objekt darstellen</title>
+
+            <programlisting language="php"><![CDATA[
 // Nur der zu zeichnende Text wird benötigt
 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
 
@@ -190,20 +163,20 @@ Zend_Barcode::factory(
 )->render();
 ]]></programlisting>
 
-			<para>
-				Das wird diesen Barcode erstellen:
+            <para>
+                Das wird diesen Barcode erstellen:
             </para>
 
-			<para>
-				<inlinegraphic width="275" align="center" valign="middle"
-					fileref="figures/zend.barcode.introduction.example-1.png" format="PNG" />
-			</para>
-		</example>
+            <para>
+                <inlinegraphic width="275" align="center" valign="middle"
+                    fileref="figures/zend.barcode.introduction.example-1.png" format="PNG"/>
+            </para>
+        </example>
 
-		<example id="zend.barcode.creation.renderering.example-2">
-			<title>Einen Barcode mit Zend_Barcode::render() darstellen</title>
+        <example id="zend.barcode.creation.renderering.example-2">
+            <title>Einen Barcode mit Zend_Barcode::render() darstellen</title>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 // Nur der zu zeichnende Text wird benötigt
 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
 
@@ -217,9 +190,9 @@ Zend_Barcode::render(
 );
 ]]></programlisting>
 
-			<para>
-				Das wird den selben Barcode erzeugen wie im vorherigen Beispiel.
+            <para>
+                Das wird den selben Barcode erzeugen wie im vorherigen Beispiel.
             </para>
-		</example>
-	</sect2>
+        </example>
+    </sect2>
 </sect1>

+ 8 - 12
documentation/manual/de/module_specs/Zend_Barcode-Introduction.xml

@@ -2,17 +2,13 @@
 <!-- EN-Revision: 19731 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.barcode.introduction">
-	<title>Einführung</title>
+    <title>Einführung</title>
 
-	<para>
-		<classname>Zend_Barcode</classname>
-		bietet einen generischen Weg um Barcode zu erzeugen. Die
-		<classname>Zend_Barcode</classname>
-		Komponente ist in zwei Unterkomponenten unterteilt:
-		Barcode Objekte und Renderer. Objekte erlauben es Barcodes unabhängig von
-		Renderern zu
-		erstellen. Renderer erlauben es Barcodes basieren auf der benötigten
-		Unterstützung zu
-		zeichnen.
-	</para>
+    <para>
+        <classname>Zend_Barcode</classname> bietet einen generischen Weg um Barcode zu erzeugen. Die
+        <classname>Zend_Barcode</classname> Komponente ist in zwei Unterkomponenten unterteilt:
+        Barcode Objekte und Renderer. Objekte erlauben es Barcodes unabhängig von Renderern zu
+        erstellen. Renderer erlauben es Barcodes basieren auf der benötigten Unterstützung zu
+        zeichnen.
+    </para>
 </sect1>

+ 343 - 504
documentation/manual/de/module_specs/Zend_Barcode-Objects.xml

@@ -2,59 +2,49 @@
 <!-- EN-Revision: 21667 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.barcode.objects" xmlns:xi="http://www.w3.org/2001/XInclude">
-	<title>Zend_Barcode Objekte</title>
-
-	<para>
-		Barcode Objekte erlauben es Barcodes unabhängig von der Unterstützung eines
-		Renderers zu
-		erstellen. Nach der Erstellung kann der Barcode als Array von Zeichen
-		Anweisungen empfangen
-		werden die an einen Renderer übergeben werden können.
+    <title>Zend_Barcode Objekte</title>
+
+    <para>
+        Barcode Objekte erlauben es Barcodes unabhängig von der Unterstützung eines Renderers zu
+        erstellen. Nach der Erstellung kann der Barcode als Array von Zeichen Anweisungen empfangen
+        werden die an einen Renderer übergeben werden können.
     </para>
 
-	<para>
-		Objekte haben eine große Anzahl an Optionen. Die meisten von Ihnen sind allen
-		Objekten
-		gemein. Diese Optionen können auf vier Wegen gesetzt werden:
+    <para>
+        Objekte haben eine große Anzahl an Optionen. Die meisten von Ihnen sind allen Objekten
+        gemein. Diese Optionen können auf vier Wegen gesetzt werden:
     </para>
 
-	<itemizedlist>
-		<listitem>
-			<para>
-				Als Array oder
-				<classname>Zend_Config</classname>
-				Objekt welches dem Constructor
-				übergeben wird.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				Als Array das der
-				<methodname>setOptions()</methodname>
-				Methode übergeben wird.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				Als
-				<classname>Zend_Config</classname>
-				Objekt welches der
-				<methodname>setConfig()</methodname>
-				Methode übergeben wird.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>Über individuelle Setter für jeden Konfigurations Typ.</para>
-		</listitem>
-	</itemizedlist>
-
-	<example id="zend.barcode.objects.configuration">
-		<title>Unterschiedliche Wege ein Barcode Objekt zu parametrisieren</title>
-
-		<programlisting language="php"><![CDATA[
+    <itemizedlist>
+        <listitem>
+            <para>
+                Als Array oder <classname>Zend_Config</classname> Objekt welches dem Constructor
+                übergeben wird.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                Als Array das der <methodname>setOptions()</methodname> Methode übergeben wird.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                Als <classname>Zend_Config</classname> Objekt welches der
+                <methodname>setConfig()</methodname> Methode übergeben wird.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>Über individuelle Setter für jeden Konfigurations Typ.</para>
+        </listitem>
+    </itemizedlist>
+
+    <example id="zend.barcode.objects.configuration">
+        <title>Unterschiedliche Wege ein Barcode Objekt zu parametrisieren</title>
+
+        <programlisting language="php"><![CDATA[
 $options = array('text' => 'ZEND-FRAMEWORK', 'barHeight' => 40);
 
 // Fall 1: Constructor
@@ -74,324 +64,213 @@ $barcode = new Zend_Barcode_Object_Code39();
 $barcode->setText('ZEND-FRAMEWORK')
         ->setBarHeight(40);
 ]]></programlisting>
-	</example>
-
-	<sect2 id="zend.barcode.objects.common.options">
-		<title>Gemeinsame Optionen</title>
-
-		<para>
-			In der folgenden Liste haben die Werte keine Einheit; wir werden den
-			Ausdruck "Einheit"
-			verwenden. Zum Beispiel, ist der Standardwert "dünner Balken" genau "1
-			Einheit". Die
-			echte Einheit hängt von der Unterstützung beim Darstellen ab (siehe
-			<link linkend="zend.barcode.renderers">die Renderer Dokumentation</link>
-			für mehr
-			Informationen). Setter werden benannt indem der erste Buchstabe der Option
-			großgeschrieben und dem Namen "set" vorangestellt wird (z.B.
-			"barHeight" =>
-			"setBarHeight"). Alle Optionen haben einen entsprechenden Getter dem "get"
-			vorangestellt
-			ist (z.B. "getBarHeight"). Die vorhandenen Optionen sind:
-		</para>
-
-		<table id="zend.barcode.objects.common.options.table">
-			<title>Gemeinsame Optionen</title>
-
-			<tgroup cols="4">
-				<thead>
-					<row>
-						<entry>Option</entry>
-						<entry>Daten Typ</entry>
-						<entry>Standardwert</entry>
-						<entry>Beschreibung</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>
-							<emphasis>barcodeNamespace</emphasis>
-						</entry>
-						<entry>
-							<type>String</type>
-						</entry>
-						<entry>
-							<classname>Zend_Barcode_Object</classname>
-						</entry>
-
-						<entry>
-							Namespace des Renderers; zum Beispiel wenn man den Renderer erweitern
-							muss
+    </example>
+
+    <sect2 id="zend.barcode.objects.common.options">
+        <title>Gemeinsame Optionen</title>
+
+        <para>
+            In der folgenden Liste haben die Werte keine Einheit; wir werden den Ausdruck "Einheit"
+            verwenden. Zum Beispiel, ist der Standardwert "dünner Balken" genau "1 Einheit". Die
+            echte Einheit hängt von der Unterstützung beim Darstellen ab (siehe
+            <link linkend="zend.barcode.renderers">die Renderer Dokumentation</link> für mehr
+            Informationen). Setter werden benannt indem der erste Buchstabe der Option
+            großgeschrieben und dem Namen "set" vorangestellt wird (z.B. "barHeight" =>
+            "setBarHeight"). Alle Optionen haben einen entsprechenden Getter dem "get" vorangestellt
+            ist (z.B. "getBarHeight"). Die vorhandenen Optionen sind:
+        </para>
+
+        <table id="zend.barcode.objects.common.options.table">
+            <title>Gemeinsame Optionen</title>
+
+            <tgroup cols="4">
+                <thead>
+                    <row>
+                        <entry>Option</entry>
+                        <entry>Daten Typ</entry>
+                        <entry>Standardwert</entry>
+                        <entry>Beschreibung</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>barcodeNamespace</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry><classname>Zend_Barcode_Object</classname></entry>
+
+                        <entry>
+                            Namespace des Renderers; zum Beispiel wenn man den Renderer erweitern
+                            muss
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>barHeight</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>50</entry>
+                        <entry>Höhe der Balken</entry>
+                    </row>
+                    <row>
+                        <entry><emphasis>barThickWidth</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>3</entry>
+                        <entry>Breite des dicken Balken</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>barThinWidth</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>1</entry>
+                        <entry>Breite des dünnen Balkens</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>factor</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>1</entry>
+
+                        <entry>
+                            Faktor mit dem die Balkenbreiten und Schriftgrößen multipliziert werden
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>foreColor</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0 (schwarz)</entry>
+
+                        <entry>
+                            Farbe des Balken und des Textes. Könnte als Integer oder als
+                            <acronym>HTML</acronym> Wert übergeben werden (z.B. "#333333")
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>backgroundColor</emphasis></entry>
+                        <entry><type>Integer</type> oder <type>String</type></entry>
+                        <entry>16777125 (white)</entry>
+
+                        <entry>
+                            Farbe des Hintergrundes. Könnte als Integer oder als
+                            <acronym>HTML</acronym> Wert übergeben werden (z.B. "#333333")
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>barHeight</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>50</entry>
-						<entry>Höhe der Balken</entry>
-					</row>
-					<row>
-						<entry>
-							<emphasis>barThickWidth</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>3</entry>
-						<entry>Breite des dicken Balken</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>barThinWidth</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>1</entry>
-						<entry>Breite des dünnen Balkens</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>factor</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>1</entry>
-
-						<entry>
-							Faktor mit dem die Balkenbreiten und Schriftgrößen multipliziert werden
+                    </row>
+
+                    <row>
+                        <entry><emphasis>reverseColor</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            Erlaubt die Änderung der Farbe des Balken und des Hintergrunds
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>foreColor</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>0 (schwarz)</entry>
-
-						<entry>
-							Farbe des Balken und des Textes. Könnte als Integer oder als
-							<acronym>HTML</acronym>
-							Wert übergeben werden (z.B. "#333333")
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>backgroundColor</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-							oder
-							<type>String</type>
-						</entry>
-						<entry>16777125 (white)</entry>
-
-						<entry>
-							Farbe des Hintergrundes. Könnte als Integer oder als
-							<acronym>HTML</acronym>
-							Wert übergeben werden (z.B. "#333333")
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>reverseColor</emphasis>
-						</entry>
-						<entry>
-							<type>Boolean</type>
-						</entry>
-						<entry>
-							<constant>FALSE</constant>
-						</entry>
-
-						<entry>
-							Erlaubt die Änderung der Farbe des Balken und des Hintergrunds
+                    </row>
+
+                    <row>
+                        <entry><emphasis>orientation</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0</entry>
+                        <entry>Orientierung des Barcodes</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>font</emphasis></entry>
+                        <entry><type>String</type> oder <type>Integer</type></entry>
+                        <entry><constant>NULL</constant></entry>
+
+                        <entry>
+                            Pfad zu einer <acronym>TTF</acronym> Schriftart oder eine Zahl zwischen
+                            1 und 5 wenn die Bilderstellung mit GD verwendet wird (interne
+                            Schriftarten)
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>orientation</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>0</entry>
-						<entry>Orientierung des Barcodes</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>font</emphasis>
-						</entry>
-						<entry>
-							<type>String</type>
-							oder
-							<type>Integer</type>
-						</entry>
-						<entry>
-							<constant>NULL</constant>
-						</entry>
-
-						<entry>
-							Pfad zu einer
-							<acronym>TTF</acronym>
-							Schriftart oder eine Zahl zwischen
-							1 und 5 wenn die Bilderstellung mit GD verwendet wird (interne
-							Schriftarten)
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>fontSize</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>10</entry>
-
-						<entry>
-							Größe der Schriftart (nicht anwendbar bei nummerischen Schriftarten)
+                    </row>
+
+                    <row>
+                        <entry><emphasis>fontSize</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>10</entry>
+
+                        <entry>
+                            Größe der Schriftart (nicht anwendbar bei nummerischen Schriftarten)
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>withBorder</emphasis>
-						</entry>
-						<entry>
-							<type>Boolean</type>
-						</entry>
-						<entry>
-							<constant>FALSE</constant>
-						</entry>
-						<entry>Zeichnet einen Rahmen um den Barcode und die Randzonen</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>withQuietZones</emphasis>
-						</entry>
-						<entry>
-							<type>Boolean</type>
-						</entry>
-						<entry>
-							<constant>TRUE</constant>
-						</entry>
-						<entry>Lässt die Leerzone vor und nach dem Barcode weg</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>drawText</emphasis>
-						</entry>
-						<entry>
-							<type>Boolean</type>
-						</entry>
-						<entry>
-							<constant>TRUE</constant>
-						</entry>
-						<entry>Setzt ob der Text unter dem Barcode angezeigt wird</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>stretchText</emphasis>
-						</entry>
-						<entry>
-							<type>Boolean</type>
-						</entry>
-						<entry>
-							<constant>FALSE</constant>
-						</entry>
-
-						<entry>
-							Spezifiziert ob der Text entlang des kompletten Barcodes gestreckt
-							werden soll
+                    </row>
+
+                    <row>
+                        <entry><emphasis>withBorder</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+                        <entry>Zeichnet einen Rahmen um den Barcode und die Randzonen</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>withQuietZones</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>TRUE</constant></entry>
+                        <entry>Lässt die Leerzone vor und nach dem Barcode weg</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>drawText</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>TRUE</constant></entry>
+                        <entry>Setzt ob der Text unter dem Barcode angezeigt wird</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>stretchText</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            Spezifiziert ob der Text entlang des kompletten Barcodes gestreckt
+                            werden soll
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>withChecksum</emphasis>
-						</entry>
-						<entry>
-							<type>Boolean</type>
-						</entry>
-						<entry>
-							<constant>FALSE</constant>
-						</entry>
-
-						<entry>
-							Zeigt ob die Checksumme dem Barcode automatisch hinzugefügt wird oder
-							nicht
+                    </row>
+
+                    <row>
+                        <entry><emphasis>withChecksum</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            Zeigt ob die Checksumme dem Barcode automatisch hinzugefügt wird oder
+                            nicht
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>withChecksumInText</emphasis>
-						</entry>
-						<entry>
-							<type>Boolean</type>
-						</entry>
-						<entry>
-							<constant>FALSE</constant>
-						</entry>
-
-						<entry>
-							Zeigt ob die Checksumme in der textuellen Repräsentation angezeigt
-							wird
-							oder nicht
+                    </row>
+
+                    <row>
+                        <entry><emphasis>withChecksumInText</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            Zeigt ob die Checksumme in der textuellen Repräsentation angezeigt wird
+                            oder nicht
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>text</emphasis>
-						</entry>
-						<entry>
-							<type>String</type>
-						</entry>
-						<entry>
-							<constant>NULL</constant>
-						</entry>
-						<entry>Der Text der repräsentiert wird, als Barcode</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-
-		<sect3 id="zend.barcode.objects.common.options.barcodefont">
-			<title>Spezieller Fall der statischen setBarcodeFont()</title>
-
-			<para>
-				Man kann eine gemeinsame Schriftart für alle eigenen Objekte setzen
-				indem die
-				statische Methode
-				<methodname>Zend_Barcode_Object::setBarcodeFont()</methodname>
-				verwendet wird. Dieser Wert wird von individuellen Objekten immer
-				überschrieben
-				wenn die
-				<methodname>setFont()</methodname>
-				Methode verwendet wird.
-			</para>
-
-			<programlisting language="php"><![CDATA[
+                    </row>
+
+                    <row>
+                        <entry><emphasis>text</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry><constant>NULL</constant></entry>
+                        <entry>Der Text der repräsentiert wird, als Barcode</entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <sect3 id="zend.barcode.objects.common.options.barcodefont">
+            <title>Spezieller Fall der statischen setBarcodeFont()</title>
+
+            <para>
+                Man kann eine gemeinsame Schriftart für alle eigenen Objekte setzen indem die
+                statische Methode <methodname>Zend_Barcode_Object::setBarcodeFont()</methodname>
+                verwendet wird. Dieser Wert wird von individuellen Objekten immer überschrieben
+                wenn die <methodname>setFont()</methodname> Methode verwendet wird.
+            </para>
+
+            <programlisting language="php"><![CDATA[
 // In der eigenen Bootstrap Datei:
 Zend_Barcode_Object::setBarcodeFont('my_font.ttf');
 
@@ -412,156 +291,116 @@ Zend_Barcode::render(
     )
 ); // will use the 3rd GD internal font
 ]]></programlisting>
-		</sect3>
-	</sect2>
-
-	<sect2 id="zend.barcode.objects.common.getters">
-		<title>Gemeinsame zusätzliche Getter</title>
-
-		<para></para>
-
-		<table id="zend.barcode.objects.common.getters.table">
-			<title>Gemeinsame Getter</title>
-
-			<tgroup cols="3">
-				<thead>
-					<row>
-						<entry>Getter</entry>
-						<entry>Daten Typ</entry>
-						<entry>Beschreibung</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>
-							<methodname>getType()</methodname>
-						</entry>
-						<entry>
-							<type>String</type>
-						</entry>
-
-						<entry>
-							Gibt den Namen der Barcode Klasse ohne den Namespace zurück (z.B.
-							gibt
-							<classname>Zend_Barcode_Object_Code39</classname>
-							einfach
-							"code39" zurück)
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<methodname>getRawText()</methodname>
-						</entry>
-						<entry>
-							<type>String</type>
-						</entry>
-
-						<entry>
-							Gibt den originalen Text zurück der beim Objekt angegeben wurde
+        </sect3>
+    </sect2>
+
+    <sect2 id="zend.barcode.objects.common.getters">
+        <title>Gemeinsame zusätzliche Getter</title>
+
+        <para></para>
+
+        <table id="zend.barcode.objects.common.getters.table">
+            <title>Gemeinsame Getter</title>
+
+            <tgroup cols="3">
+                <thead>
+                    <row>
+                        <entry>Getter</entry>
+                        <entry>Daten Typ</entry>
+                        <entry>Beschreibung</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><methodname>getType()</methodname></entry>
+                        <entry><type>String</type></entry>
+
+                        <entry>
+                            Gibt den Namen der Barcode Klasse ohne den Namespace zurück (z.B.
+                            gibt <classname>Zend_Barcode_Object_Code39</classname> einfach
+                            "code39" zurück)
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<methodname>getTextToDisplay()</methodname>
-						</entry>
-						<entry>
-							<type>String</type>
-						</entry>
-
-						<entry>
-							Gibt den Text zurück welche angezeigt wird, inklusive, wenn
-							aktiviert,
-							den Wert der Checksumme
+                    </row>
+
+                    <row>
+                        <entry><methodname>getRawText()</methodname></entry>
+                        <entry><type>String</type></entry>
+
+                        <entry>
+                            Gibt den originalen Text zurück der beim Objekt angegeben wurde
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><methodname>getTextToDisplay()</methodname></entry>
+                        <entry><type>String</type></entry>
+
+                        <entry>
+                            Gibt den Text zurück welche angezeigt wird, inklusive, wenn aktiviert,
+                            den Wert der Checksumme
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<methodname>getQuietZone()</methodname>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-
-						<entry>
-							Gibt die Größe des Raumes an der vor und nach dem Barcode benötigt
-							wird
-							und keine Zeichnung enthält
+                    </row>
+
+                    <row>
+                        <entry><methodname>getQuietZone()</methodname></entry>
+                        <entry><type>Integer</type></entry>
+
+                        <entry>
+                            Gibt die Größe des Raumes an der vor und nach dem Barcode benötigt wird
+                            und keine Zeichnung enthält
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<methodname>getInstructions()</methodname>
-						</entry>
-						<entry>
-							<type>Array</type>
-						</entry>
-						<entry>Gibt die Zeichenanweisungen als Array zurück.</entry>
-					</row>
-
-					<row>
-						<entry>
-							<methodname>getHeight($recalculate = false)</methodname>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-
-						<entry>
-							Gibt die Höhe des Barcodes berechnet nach einer möglichen Rotation
-							zurück
+                    </row>
+
+                    <row>
+                        <entry><methodname>getInstructions()</methodname></entry>
+                        <entry><type>Array</type></entry>
+                        <entry>Gibt die Zeichenanweisungen als Array zurück.</entry>
+                    </row>
+
+                    <row>
+                        <entry><methodname>getHeight($recalculate = false)</methodname></entry>
+                        <entry><type>Integer</type></entry>
+
+                        <entry>
+                            Gibt die Höhe des Barcodes berechnet nach einer möglichen Rotation
+                            zurück
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<methodname>getWidth($recalculate = false)</methodname>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-
-						<entry>
-							Gibt den Wert des Barcodes berechnet nach einer möglichen Rotation
-							zurück
+                    </row>
+
+                    <row>
+                        <entry><methodname>getWidth($recalculate = false)</methodname></entry>
+                        <entry><type>Integer</type></entry>
+
+                        <entry>
+                            Gibt den Wert des Barcodes berechnet nach einer möglichen Rotation
+                            zurück
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<methodname>getOffsetTop($recalculate = false)</methodname>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-
-						<entry>
-							Gibt die oberste Position des Barcodes berechnet nach einer möglichen
-							Rotation zurück
+                    </row>
+
+                    <row>
+                        <entry><methodname>getOffsetTop($recalculate = false)</methodname></entry>
+                        <entry><type>Integer</type></entry>
+
+                        <entry>
+                            Gibt die oberste Position des Barcodes berechnet nach einer möglichen
+                            Rotation zurück
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<methodname>getOffsetLeft($recalculate = false)</methodname>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-
-						<entry>
-							Gibt die linke Position des Barcodes berechnet nach einer möglichen
-							Rotation zurück
+                    </row>
+
+                    <row>
+                        <entry><methodname>getOffsetLeft($recalculate = false)</methodname></entry>
+                        <entry><type>Integer</type></entry>
+
+                        <entry>
+                            Gibt die linke Position des Barcodes berechnet nach einer möglichen
+                            Rotation zurück
                         </entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-	</sect2>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+    </sect2>
 
-	<xi:include href="Zend_Barcode-Objects_Details.xml" />
+    <xi:include href="Zend_Barcode-Objects_Details.xml" />
 </sect1>

+ 697 - 912
documentation/manual/de/module_specs/Zend_Barcode-Objects_Details.xml

@@ -2,919 +2,704 @@
 <!-- EN-Revision: 21667 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.barcode.objects.details">
-	<title>Beschreibung der ausgelieferten Barcodes</title>
+    <title>Beschreibung der ausgelieferten Barcodes</title>
 
-	<para>
-		Anbei findet man detailierte Informationen über alle Barcode Typen welche
-		standardmäßig
-		mit Zend Framework ausgeliefert werden.
+    <para>
+        Anbei findet man detailierte Informationen über alle Barcode Typen welche standardmäßig
+        mit Zend Framework ausgeliefert werden.
     </para>
 
-	<sect3 id="zend.barcode.objects.details.error">
-		<title>Zend_Barcode_Object_Error</title>
-
-		<para>
-			<inlinegraphic width="400" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.error.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode ist ein spezieller Fall. Er wird intern verwendet um
-			eine Exception
-			automatisch darzustellen wenn diese von der
-			<classname>Zend_Barcode</classname>
-			Komponente gefangen wird.
-		</para>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.code25">
-		<title>Zend_Barcode_Object_Code25</title>
-
-		<para>
-			<inlinegraphic width="152" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.code25.png" format="PNG" />
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					Code 25 (oder Code 2 of 5 oder Code 25 Industrial)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					Optional (Modulo 10)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					Variabel
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.code25interleaved">
-		<title>Zend_Barcode_Object_Code25interleaved</title>
-
-		<para>
-			<inlinegraphic width="101" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.int25.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode erweitert
-			<classname>Zend_Barcode_Object_Code25</classname>
-			(Code 2 of
-			5). Er hat die gleichen Details und Optionen und fügt folgendes hinzu:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					Code 2 of 5 Interleaved
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					Optional (Modulo 10)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					variabel (immer eine gerade Anzahl an Zeichen)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Vorhandene Optionen:
-        </para>
-
-		<table id="zend.barcode.objects.details.code25interleaved.table">
-			<title>Optionen für Zend_Barcode_Object_Code25interleaved</title>
-
-			<tgroup cols="4">
-				<thead>
-					<row>
-						<entry>Option</entry>
-						<entry>Datentyp</entry>
-						<entry>Standardwert</entry>
-						<entry>Beschreibung</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>
-							<emphasis>withBearerBars</emphasis>
-						</entry>
-						<entry>
-							<type>Boolean</type>
-						</entry>
-						<entry>
-							<constant>FALSE</constant>
-						</entry>
-						<entry>Zeichnet eine dicke Linie am Beginn und Ende des Barcodes.</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen nicht gerade ist, wird
-				<classname>Zend_Barcode_Object_Code25interleaved</classname>
-				fehlende Nullen dem
-				Barcode Text automatisch voranstellen.
-			</para>
-		</note>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.ean2">
-		<title>Zend_Barcode_Object_Ean2</title>
-
-		<para>
-			<inlinegraphic width="41" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.ean2.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode erweitert
-			<classname>Zend_Barcode_Object_Ean5</classname>
-			(
-			<acronym>EAN</acronym>
-			5) und hat die gleichen Details und Optionen, und fügt die
-			folgenden hinzu:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					<acronym>EAN</acronym>
-					-2
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					nur intern verwendet aber nicht dargestellt
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					2 Zeichen
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen kleiner als 2 ist, wird
-				<classname>Zend_Barcode_Object_Ean2</classname>
-				fehlende Nullen dem Barcode
-				Text automatisch voranstellen.
-			</para>
-		</note>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.ean5">
-		<title>Zend_Barcode_Object_Ean5</title>
-
-		<para>
-			<inlinegraphic width="68" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.ean5.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode erweitert
-			<classname>Zend_Barcode_Object_Ean13</classname>
-			(
-			<acronym>EAN</acronym>
-			13) und hat eigene Details und Optionen und fügt die folgenden
-			hinzu:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					<acronym>EAN</acronym>
-					-5
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					nur intern verwendet aber nicht dargestellt
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					5 Zeichen
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen kleiner als 5 ist, wird
-				<classname>Zend_Barcode_Object_Ean5</classname>
-				fehlende Nullen dem Barcode
-				Text automatisch voranstellen.
-			</para>
-		</note>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.ean8">
-		<title>Zend_Barcode_Object_Ean8</title>
-
-		<para>
-			<inlinegraphic width="82" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.ean8.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode erweitert
-			<classname>Zend_Barcode_Object_Ean13</classname>
-			(
-			<acronym>EAN</acronym>
-			13) und hat eigene Details und Optionen und fügt die folgenden
-			hinzu:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					<acronym>EAN</acronym>
-					-8
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					erforderlich (Modulo 10)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					8 Zeichen (inklusive Checksumme)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen kleiner als 8 ist, wird
-				<classname>Zend_Barcode_Object_Ean8</classname>
-				fehlende Nullen dem Barcode
-				Text automatisch voranstellen.
-			</para>
-		</note>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.ean13">
-		<title>Zend_Barcode_Object_Ean13</title>
-
-		<para>
-			<inlinegraphic width="113" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.ean13.png" format="PNG" />
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					<acronym>EAN</acronym>
-					-13
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					erforderlich (Modulo 10)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					13 Zeichen (inklusive Checksumme)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen kleiner als 13 ist, wird
-				<classname>Zend_Barcode_Object_Ean13</classname>
-				fehlende Nullen dem Barcode
-				Text automatisch voranstellen.
-			</para>
-
-			<para>
-				Die Option
-				<property>withQuietZones</property>
-				hat bei diesem Barcode keinen Effekt
-			</para>
-		</note>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.code39">
-		<title>Zend_Barcode_Object_Code39</title>
-
-		<para>
-			<inlinegraphic width="275" align="center" valign="middle"
-				fileref="figures/zend.barcode.introduction.example-1.png" format="PNG" />
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					Code 39
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ -.$/+%'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					Optional (Modulo 43)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					Variabel
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<note>
-			<para>
-				<classname>Zend_Barcode_Object_Code39</classname>
-				fügt automatisch die Start und
-				Stop Zeichen ('*') hinzu.
-			</para>
-		</note>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.identcode">
-		<title>Zend_Barcode_Object_Identcode</title>
-
-		<para>
-			<inlinegraphic width="137" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.identcode.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode erweitert
-			<classname>Zend_Barcode_Object_Code25interleaved</classname>
-			(Code 2 of 5 Interleaved), und enthält einige seiner Fähigkeiten; er
-			hat auch selbst
-			einige spezielle.
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					Identcode (Deutsche Post Identcode)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					zwingend (Modulo 10 aber unterschiedlich von
-					Code25)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					12 Zeichen (inklusive Checksumme)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen kleiner als 12 ist, wird
-				<classname>Zend_Barcode_Object_Identcode</classname>
-				fehlende Nullen dem Barcode
-				Text automatisch voranstellen.
-			</para>
-		</note>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.itf14">
-		<title>Zend_Barcode_Object_Itf14</title>
-
-		<para>
-			<inlinegraphic width="155" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.itf14.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode erweitert
-			<classname>Zend_Barcode_Object_Int25</classname>
-			(Code 2 of 5
-			Interleaved), und erweitert einige seiner Möglichkeiten; er hat auch selbst einige
-			spezielle.
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					<acronym>ITF</acronym>
-					-14
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					zwingend (Modulo 10)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					14 Zeichen (inklusive Checksumme)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen kleiner als 14 ist, wird
-				<classname>Zend_Barcode_Object_Itf14</classname>
-				fehlende Nullen dem Barcode
-				Text automatisch voranstellen.
-			</para>
-		</note>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.leitcode">
-		<title>Zend_Barcode_Object_Leitcode</title>
-
-		<para>
-			<inlinegraphic width="155" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.leitcode.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode erweitert
-			<classname>Zend_Barcode_Object_Identcode</classname>
-			(Deutsche
-			Post Identcode), und enthält einige seiner Möglichkeiten; er hat auch
-			einige eigene
-			Möglichkeit.
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					Leitcode (Deutsche Post Leitcode)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					zwingend (Modulo 10 unterschiedlich zu Code25)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					14 Zeichen (inklusive der Checksumme)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen kleiner als 14 ist, wird
-				<classname>Zend_Barcode_Object_Leitcode</classname>
-				fehlende Nullen dem Barcode
-				Text automatisch voranstellen.
-			</para>
-		</note>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.planet">
-		<title>Zend_Barcode_Object_Planet</title>
-
-		<para>
-			<inlinegraphic width="286" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.planet.png" format="PNG" />
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					Planet (PostaL Alpha Numeric Encoding Technique)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					erforderlich (Modulo 10)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					12 oder 14 Zeichen (inklusive Checksumme)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.postnet">
-		<title>Zend_Barcode_Object_Postnet</title>
-
-		<para>
-			<inlinegraphic width="286" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.postnet.png" format="PNG" />
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					Postnet (POSTal Numeric Encoding Technique)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					erforderlich (Modulo 10)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					6, 7, 10 oder 12 Zeichen (inklusive Checksumme)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.royalmail">
-		<title>Zend_Barcode_Object_Royalmail</title>
-
-		<para>
-			<inlinegraphic width="158" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.royalmail.png" format="PNG" />
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					Royal Mail oder
-					<acronym>RM4SCC</acronym>
-					(Royal Mail
-					4-State Customer Code)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					erforderlich
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					variabel
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.upca">
-		<title>Zend_Barcode_Object_Upca</title>
-
-		<para>
-			<inlinegraphic width="115" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.upca.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode erweitert
-			<classname>Zend_Barcode_Object_Ean13</classname>
-			(
-			<acronym>EAN</acronym>
-			13) und erweitert einige seiner Möglichkeiten; er hat auch
-			selbst einige.
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					<acronym>UPC</acronym>
-					-A (Universal Product Code)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					erforderlich (Modulo 10)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					12 Zeichen (inklusive Checksumme)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen kleiner als 12 ist, wird
-				<classname>Zend_Barcode_Object_Upca</classname>
-				fehlende Nullen dem Barcode
-				Text automatisch voranstellen.
-			</para>
-
-			<para>
-				Die Option
-				<property>withQuietZones</property>
-				hat bei diesem Barcode keinen Effekt
-			</para>
-		</note>
-	</sect3>
-
-	<sect3 id="zend.barcode.objects.details.upce">
-		<title>Zend_Barcode_Object_Upce</title>
-
-		<para>
-			<inlinegraphic width="71" align="center" valign="middle"
-				fileref="figures/zend.barcode.objects.details.upce.png" format="PNG" />
-		</para>
-
-		<para>
-			Dieser Barcode erweitert
-			<classname>Zend_Barcode_Object_Upca</classname>
-			(
-			<acronym>UPC</acronym>
-			-A), und verwendet einige seiner Fähigkeiten; er hat auch einige
-			eigene. Das erste Zeichen des zu kodierenden Textes ist das System (0
-			oder 1).
-			und enthält einige seiner Möglichkeiten; er hat auch einige eigene
-			Möglichkeit.
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>Name:</emphasis>
-					<acronym>UPC</acronym>
-					-E (Universal Product Code)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Erlaubte Zeichen:</emphasis>
-					'0123456789'
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Checksumme:</emphasis>
-					erforderlich (Modulo 10)
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<emphasis>Länge:</emphasis>
-					8 Zeichen (inklusive Checksumme)
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Barcode.
-        </para>
-
-		<note>
-			<para>
-				Wenn die Anzahl der Zeichen kleiner als 8 ist, wird
-				<classname>Zend_Barcode_Object_Upce</classname>
-				fehlende Nullen dem Barcode
-				Text automatisch voranstellen.
-			</para>
-		</note>
-
-		<note>
-			<para>
-				Wenn das erste Zeichen des zu kodierenden Textes nicht 0 oder 1 ist,
-				ersetzt
-				<classname>Zend_Barcode_Object_Upce</classname>
-				dieses automatisch durch 0.
-			</para>
-
-			<para>
-				Die Option
-				<property>withQuietZones</property>
-				hat bei diesem Barcode keinen Effekt
-			</para>
-		</note>
-	</sect3>
+    <sect3 id="zend.barcode.objects.details.error">
+        <title>Zend_Barcode_Object_Error</title>
+
+        <para>
+            <inlinegraphic width="400" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.error.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode ist ein spezieller Fall. Er wird intern verwendet um eine Exception
+            automatisch darzustellen wenn diese von der <classname>Zend_Barcode</classname>
+            Komponente gefangen wird.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.code25">
+        <title>Zend_Barcode_Object_Code25</title>
+
+        <para>
+            <inlinegraphic width="152" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.code25.png" format="PNG"/>
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Name:</emphasis> Code 25 (oder Code 2 of 5 oder Code 25 Industrial)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> Optional (Modulo 10)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> Variabel</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.code25interleaved">
+        <title>Zend_Barcode_Object_Code25interleaved</title>
+
+        <para>
+            <inlinegraphic width="101" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.int25.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode erweitert <classname>Zend_Barcode_Object_Code25</classname> (Code 2 of
+            5). Er hat die gleichen Details und Optionen und fügt folgendes hinzu:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> Code 2 of 5 Interleaved</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> Optional (Modulo 10)</para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Länge:</emphasis> variabel (immer eine gerade Anzahl an Zeichen)
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Vorhandene Optionen:
+        </para>
+
+        <table id="zend.barcode.objects.details.code25interleaved.table">
+            <title>Optionen für Zend_Barcode_Object_Code25interleaved</title>
+
+            <tgroup cols="4">
+                <thead>
+                    <row>
+                        <entry>Option</entry>
+                        <entry>Datentyp</entry>
+                        <entry>Standardwert</entry>
+                        <entry>Beschreibung</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>withBearerBars</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+                        <entry>Zeichnet eine dicke Linie am Beginn und Ende des Barcodes.</entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen nicht gerade ist, wird
+                <classname>Zend_Barcode_Object_Code25interleaved</classname> fehlende Nullen dem
+                Barcode Text automatisch voranstellen.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.ean2">
+        <title>Zend_Barcode_Object_Ean2</title>
+
+        <para>
+            <inlinegraphic width="41" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.ean2.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode erweitert <classname>Zend_Barcode_Object_Ean5</classname>
+            (<acronym>EAN</acronym> 5) und hat die gleichen Details und Optionen, und fügt die
+            folgenden hinzu:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> <acronym>EAN</acronym>-2</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Checksumme:</emphasis> nur intern verwendet aber nicht dargestellt
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 2 Zeichen</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen kleiner als 2 ist, wird
+                <classname>Zend_Barcode_Object_Ean2</classname> fehlende Nullen dem Barcode
+                Text automatisch voranstellen.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.ean5">
+        <title>Zend_Barcode_Object_Ean5</title>
+
+        <para>
+            <inlinegraphic width="68" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.ean5.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode erweitert <classname>Zend_Barcode_Object_Ean13</classname>
+            (<acronym>EAN</acronym> 13) und hat eigene Details und Optionen und fügt die folgenden
+            hinzu:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> <acronym>EAN</acronym>-5</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Checksumme:</emphasis> nur intern verwendet aber nicht dargestellt
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 5 Zeichen</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen kleiner als 5 ist, wird
+                <classname>Zend_Barcode_Object_Ean5</classname> fehlende Nullen dem Barcode
+                Text automatisch voranstellen.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.ean8">
+        <title>Zend_Barcode_Object_Ean8</title>
+
+        <para>
+            <inlinegraphic width="82" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.ean8.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode erweitert <classname>Zend_Barcode_Object_Ean13</classname>
+            (<acronym>EAN</acronym> 13) und hat eigene Details und Optionen und fügt die folgenden
+            hinzu:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> <acronym>EAN</acronym>-8</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> erforderlich (Modulo 10)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 8 Zeichen (inklusive Checksumme)</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen kleiner als 8 ist, wird
+                <classname>Zend_Barcode_Object_Ean8</classname> fehlende Nullen dem Barcode
+                Text automatisch voranstellen.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.ean13">
+        <title>Zend_Barcode_Object_Ean13</title>
+
+        <para>
+            <inlinegraphic width="113" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.ean13.png" format="PNG"/>
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> <acronym>EAN</acronym>-13</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> erforderlich (Modulo 10)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 13 Zeichen (inklusive Checksumme)</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen kleiner als 13 ist, wird
+                <classname>Zend_Barcode_Object_Ean13</classname> fehlende Nullen dem Barcode
+                Text automatisch voranstellen.
+            </para>
+
+            <para>
+                Die Option <property>withQuietZones</property> hat bei diesem Barcode keinen Effekt
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.code39">
+        <title>Zend_Barcode_Object_Code39</title>
+
+        <para>
+            <inlinegraphic width="275" align="center" valign="middle"
+                fileref="figures/zend.barcode.introduction.example-1.png" format="PNG"/>
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> Code 39</para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Erlaubte Zeichen:</emphasis>
+                    '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ -.$/+%'
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> Optional (Modulo 43)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> Variabel</para>
+            </listitem>
+        </itemizedlist>
+
+        <note>
+            <para>
+                <classname>Zend_Barcode_Object_Code39</classname> fügt automatisch die Start und
+                Stop Zeichen ('*') hinzu.
+            </para>
+        </note>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.identcode">
+        <title>Zend_Barcode_Object_Identcode</title>
+
+        <para>
+            <inlinegraphic width="137" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.identcode.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode erweitert <classname>Zend_Barcode_Object_Code25interleaved</classname>
+            (Code 2 of 5 Interleaved), und enthält einige seiner Fähigkeiten; er hat auch selbst
+            einige spezielle.
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> Identcode (Deutsche Post Identcode)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Checksumme:</emphasis> zwingend (Modulo 10 aber unterschiedlich von
+                    Code25)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 12 Zeichen (inklusive Checksumme)</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen kleiner als 12 ist, wird
+                <classname>Zend_Barcode_Object_Identcode</classname> fehlende Nullen dem Barcode
+                Text automatisch voranstellen.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.itf14">
+        <title>Zend_Barcode_Object_Itf14</title>
+
+        <para>
+            <inlinegraphic width="155" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.itf14.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode erweitert <classname>Zend_Barcode_Object_Int25</classname> (Code 2 of 5
+            Interleaved), und erweitert einige seiner Möglichkeiten; er hat auch selbst einige
+            spezielle.
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> <acronym>ITF</acronym>-14</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> zwingend (Modulo 10)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 14 Zeichen (inklusive Checksumme)</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen kleiner als 14 ist, wird
+                <classname>Zend_Barcode_Object_Itf14</classname> fehlende Nullen dem Barcode
+                Text automatisch voranstellen.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.leitcode">
+        <title>Zend_Barcode_Object_Leitcode</title>
+
+        <para>
+            <inlinegraphic width="155" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.leitcode.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode erweitert <classname>Zend_Barcode_Object_Identcode</classname> (Deutsche
+            Post Identcode), und enthält einige seiner Möglichkeiten; er hat auch einige eigene
+            Möglichkeit.
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> Leitcode (Deutsche Post Leitcode)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Checksumme:</emphasis> zwingend (Modulo 10 unterschiedlich zu Code25)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 14 Zeichen (inklusive der Checksumme)</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen kleiner als 14 ist, wird
+                <classname>Zend_Barcode_Object_Leitcode</classname> fehlende Nullen dem Barcode
+                Text automatisch voranstellen.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.planet">
+        <title>Zend_Barcode_Object_Planet</title>
+
+        <para>
+            <inlinegraphic width="286" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.planet.png" format="PNG"/>
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Name:</emphasis> Planet (PostaL Alpha Numeric Encoding Technique)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> erforderlich (Modulo 10)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 12 oder 14 Zeichen (inklusive Checksumme)</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.postnet">
+        <title>Zend_Barcode_Object_Postnet</title>
+
+        <para>
+            <inlinegraphic width="286" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.postnet.png" format="PNG"/>
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para><emphasis>Name:</emphasis> Postnet (POSTal Numeric Encoding Technique)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> erforderlich (Modulo 10)</para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Länge:</emphasis> 6, 7, 10 oder 12 Zeichen (inklusive Checksumme)
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.royalmail">
+        <title>Zend_Barcode_Object_Royalmail</title>
+
+        <para>
+            <inlinegraphic width="158" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.royalmail.png" format="PNG"/>
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Name:</emphasis> Royal Mail oder <acronym>RM4SCC</acronym> (Royal Mail
+                    4-State Customer Code)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Erlaubte Zeichen:</emphasis> '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> erforderlich</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> variabel</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.upca">
+        <title>Zend_Barcode_Object_Upca</title>
+
+        <para>
+            <inlinegraphic width="115" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.upca.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode erweitert <classname>Zend_Barcode_Object_Ean13</classname>
+            (<acronym>EAN</acronym> 13) und erweitert einige seiner Möglichkeiten; er hat auch
+            selbst einige.
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Name:</emphasis> <acronym>UPC</acronym>-A (Universal Product Code)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> erforderlich (Modulo 10)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 12 Zeichen (inklusive Checksumme)</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen kleiner als 12 ist, wird
+                <classname>Zend_Barcode_Object_Upca</classname> fehlende Nullen dem Barcode
+                Text automatisch voranstellen.
+            </para>
+
+            <para>
+                Die Option <property>withQuietZones</property> hat bei diesem Barcode keinen Effekt
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.barcode.objects.details.upce">
+        <title>Zend_Barcode_Object_Upce</title>
+
+        <para>
+            <inlinegraphic width="71" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.upce.png" format="PNG"/>
+        </para>
+
+        <para>
+            Dieser Barcode erweitert <classname>Zend_Barcode_Object_Upca</classname>
+            (<acronym>UPC</acronym>-A), und verwendet einige seiner Fähigkeiten; er hat auch einige
+            eigene. Das erste Zeichen des zu kodierenden Textes ist das System (0 oder 1).
+            und enthält einige seiner Möglichkeiten; er hat auch einige eigene
+            Möglichkeit.
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Name:</emphasis> <acronym>UPC</acronym>-E (Universal Product Code)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Erlaubte Zeichen:</emphasis> '0123456789'</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Checksumme:</emphasis> erforderlich (Modulo 10)</para>
+            </listitem>
+
+            <listitem>
+                <para><emphasis>Länge:</emphasis> 8 Zeichen (inklusive Checksumme)</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Barcode.
+        </para>
+
+        <note>
+            <para>
+                Wenn die Anzahl der Zeichen kleiner als 8 ist, wird
+                <classname>Zend_Barcode_Object_Upce</classname> fehlende Nullen dem Barcode
+                Text automatisch voranstellen.
+            </para>
+        </note>
+
+        <note>
+            <para>
+                Wenn das erste Zeichen des zu kodierenden Textes nicht 0 oder 1 ist, ersetzt
+                <classname>Zend_Barcode_Object_Upce</classname> dieses automatisch durch 0.
+            </para>
+
+            <para>
+                Die Option <property>withQuietZones</property> hat bei diesem Barcode keinen Effekt
+            </para>
+        </note>
+    </sect3>
 </sect2>

+ 220 - 298
documentation/manual/de/module_specs/Zend_Barcode-Renderers.xml

@@ -2,51 +2,43 @@
 <!-- EN-Revision: 20764 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.barcode.renderers">
-	<title>Zend_Barcode Renderer</title>
+    <title>Zend_Barcode Renderer</title>
 
-	<para>
-		Renderer haben einige gemeinsame Optionen. Diese Optionen können auf vier
-		Wegen gesetzt
-		werden:
+    <para>
+        Renderer haben einige gemeinsame Optionen. Diese Optionen können auf vier Wegen gesetzt
+        werden:
     </para>
 
-	<itemizedlist>
-		<listitem>
-			<para>
-				Als Array oder
-				<classname>Zend_Config</classname>
-				Objekt das dem Constructor
-				übergeben wird.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				Als Array das der
-				<methodname>setOptions()</methodname>
-				Methode übergeben wird.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>
-				Als
-				<classname>Zend_Config</classname>
-				Objekt das der
-				<methodname>setConfig()</methodname>
-				Methode übergeben wird.
-			</para>
-		</listitem>
-
-		<listitem>
-			<para>Als diskreter Wert der an individuelle Setter übergeben wird.</para>
-		</listitem>
-	</itemizedlist>
-
-	<example id="zend.barcode.renderers.configuration">
-		<title>Unterschiedliche Wegen ein Renderer Objekt zu parametrisieren</title>
-
-		<programlisting language="php"><![CDATA[
+    <itemizedlist>
+        <listitem>
+            <para>
+                Als Array oder <classname>Zend_Config</classname> Objekt das dem Constructor
+                übergeben wird.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                Als Array das der <methodname>setOptions()</methodname> Methode übergeben wird.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                Als <classname>Zend_Config</classname> Objekt das der
+                <methodname>setConfig()</methodname> Methode übergeben wird.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>Als diskreter Wert der an individuelle Setter übergeben wird.</para>
+        </listitem>
+    </itemizedlist>
+
+    <example id="zend.barcode.renderers.configuration">
+        <title>Unterschiedliche Wegen ein Renderer Objekt zu parametrisieren</title>
+
+        <programlisting language="php"><![CDATA[
 $options = array('topOffset' => 10);
 
 // Fall 1
@@ -65,272 +57,202 @@ $renderer->setConfig($config);
 $renderer = new Zend_Barcode_Renderer_Pdf();
 $renderer->setTopOffset(10);
 ]]></programlisting>
-	</example>
-
-	<sect2 id="zend.barcode.renderers.common.options">
-		<title>Gemeinsame Optionen</title>
-
-		<para>
-			In der folgenden Liste haben die Werte keine Einheit; wir werden den
-			Ausdruck "Einheit"
-			verwenden. Zum Beispiel, ist der Standardwert "dünner Balken" genau "1
-			Einheit". Die
-			echte Einheit hängt von der Unterstützung beim Darstellen ab. Die
-			individuellen Setter
-			werden erkannt indem der erste Buchstabe der Option großgeschrieben und dem
-			Namen
-			"set" vorangestellt wird (z.B. "barHeight" => "setBarHeight"). Alle
-			Optionen haben einen
-			entsprechenden Getter dem "get" vorangestellt ist (z.B. "getBarHeight"). Die
-			vorhandenen
-			Optionen sind:
+    </example>
+
+    <sect2 id="zend.barcode.renderers.common.options">
+        <title>Gemeinsame Optionen</title>
+
+        <para>
+            In der folgenden Liste haben die Werte keine Einheit; wir werden den Ausdruck "Einheit"
+            verwenden. Zum Beispiel, ist der Standardwert "dünner Balken" genau "1 Einheit". Die
+            echte Einheit hängt von der Unterstützung beim Darstellen ab. Die individuellen Setter
+            werden erkannt indem der erste Buchstabe der Option großgeschrieben und dem Namen
+            "set" vorangestellt wird (z.B. "barHeight" => "setBarHeight"). Alle Optionen haben einen
+            entsprechenden Getter dem "get" vorangestellt ist (z.B. "getBarHeight"). Die vorhandenen
+            Optionen sind:
         </para>
 
-		<table id="zend.barcode.renderers.common.options.table">
-			<title>Gemeinsame Optionen</title>
-
-			<tgroup cols="4">
-				<thead>
-					<row>
-						<entry>Option</entry>
-						<entry>Daten Typ</entry>
-						<entry>Standardwert</entry>
-						<entry>Beschreibung</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>
-							<emphasis>rendererNamespace</emphasis>
-						</entry>
-						<entry>
-							<type>String</type>
-						</entry>
-						<entry>
-							<classname>Zend_Barcode_Renderer</classname>
-						</entry>
-
-						<entry>
-							Namespace des Renderers; zum Beispiel wenn man den Renderer erweitern
-							muss
+        <table id="zend.barcode.renderers.common.options.table">
+            <title>Gemeinsame Optionen</title>
+
+            <tgroup cols="4">
+                <thead>
+                    <row>
+                        <entry>Option</entry>
+                        <entry>Daten Typ</entry>
+                        <entry>Standardwert</entry>
+                        <entry>Beschreibung</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>rendererNamespace</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry><classname>Zend_Barcode_Renderer</classname></entry>
+
+                        <entry>
+                            Namespace des Renderers; zum Beispiel wenn man den Renderer erweitern
+                            muss
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>horizontalPosition</emphasis>
-						</entry>
-						<entry>
-							<type>String</type>
-						</entry>
-						<entry>"left"</entry>
-
-						<entry>
-							Kann "left", "center" oder "right" sein. Das kann bei
-							<acronym>PDF</acronym>
-							nützlich sein, oder wenn die
-							<methodname>setWidth()</methodname>
-							Methode mit einem Image Renderer
-							verwendet wird.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>verticalPosition</emphasis>
-						</entry>
-						<entry>
-							<type>String</type>
-						</entry>
-						<entry>"top"</entry>
-
-						<entry>
-							Kann "top", "middle" oder "bottom" sein. Das kann bei
-							<acronym>PDF</acronym>
-							nützlich sein, oder wenn die
-							<methodname>setHeight()</methodname>
-							Methode mit einem Image Renderer
-							verwendet wird.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>leftOffset</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>0</entry>
-
-						<entry>
-							Oberste Position des Barcodes innerhalb des Renderers. Wenn er verwendet
-							wird, überschreibt dieser Wert die Option "horizontalPosition".
+                    </row>
+
+                    <row>
+                        <entry><emphasis>horizontalPosition</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>"left"</entry>
+
+                        <entry>
+                            Kann "left", "center" oder "right" sein. Das kann bei
+                            <acronym>PDF</acronym> nützlich sein, oder wenn die
+                            <methodname>setWidth()</methodname> Methode mit einem Image Renderer
+                            verwendet wird.
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>topOffset</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>0</entry>
-
-						<entry>
-							Oberste Position des Barcodes innerhalb des Renderers. Wenn er verwendet
-							wird, überschreibt dieser Wert die Option "verticalPosition".
+                    </row>
+
+                    <row>
+                        <entry><emphasis>verticalPosition</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>"top"</entry>
+
+                        <entry>
+                            Kann "top", "middle" oder "bottom" sein. Das kann bei
+                            <acronym>PDF</acronym> nützlich sein, oder wenn die
+                            <methodname>setHeight()</methodname> Methode mit einem Image Renderer
+                            verwendet wird.
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>automaticRenderError</emphasis>
-						</entry>
-						<entry>
-							<type>Boolean</type>
-						</entry>
-						<entry>
-							<constant>TRUE</constant>
-						</entry>
-
-						<entry>
-							Ob Fehler automatisch dargestellt werden sollen oder nicht. Wenn
-							eine
-							Exception stattfindet, wird das angegebene Barcode Objekt mit einer
-							Repräsentation des Fehlers ersetzt. Es ist zu beachten das einige
-							Fehler
-							(oder Exceptions) nicht dargestellt werden können.
+                    </row>
+
+                    <row>
+                        <entry><emphasis>leftOffset</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0</entry>
+
+                        <entry>
+                            Oberste Position des Barcodes innerhalb des Renderers. Wenn er verwendet
+                            wird, überschreibt dieser Wert die Option "horizontalPosition".
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>topOffset</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0</entry>
+
+                        <entry>
+                            Oberste Position des Barcodes innerhalb des Renderers. Wenn er verwendet
+                            wird, überschreibt dieser Wert die Option "verticalPosition".
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>automaticRenderError</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>TRUE</constant></entry>
+
+                        <entry>
+                            Ob Fehler automatisch dargestellt werden sollen oder nicht. Wenn eine
+                            Exception stattfindet, wird das angegebene Barcode Objekt mit einer
+                            Repräsentation des Fehlers ersetzt. Es ist zu beachten das einige Fehler
+                            (oder Exceptions) nicht dargestellt werden können.
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>moduleSize</emphasis>
-						</entry>
-						<entry>
-							<type>Float</type>
-						</entry>
-						<entry>1</entry>
-						<entry>Größe eines darstellenden Moduls im Support.</entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>barcode</emphasis>
-						</entry>
-						<entry>
-							<classname>Zend_Barcode_Object</classname>
-						</entry>
-						<entry>
-							<constant>NULL</constant>
-						</entry>
-						<entry>Das Barcode Objekt welches dargestellt werden soll.</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-
-		<para>
-			Es existiert ein zusätzlicher Getter:
-			<methodname>getType()</methodname>
-			. Er gibt den
-			Namen der Renderer Klasse ohne den Namespace zurück (z.B. gibt
-			<classname>Zend_Barcode_Renderer_Image</classname>
-			"image" zurück.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.barcode.renderers.image">
-		<title>Zend_Barcode_Renderer_Image</title>
-
-		<para>
-			Der Image Renderer zeichnet die Anweisungsliste des Barcode Obejekts in
-			eine Bild
-			Ressource. Die Komponente benötigt die GD Erweiterung. Die Standardbreite eines
-			Moduls ist 1 Pixel.
+                    </row>
+
+                    <row>
+                        <entry><emphasis>moduleSize</emphasis></entry>
+                        <entry><type>Float</type></entry>
+                        <entry>1</entry>
+                        <entry>Größe eines darstellenden Moduls im Support.</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>barcode</emphasis></entry>
+                        <entry><classname>Zend_Barcode_Object</classname></entry>
+                        <entry><constant>NULL</constant></entry>
+                        <entry>Das Barcode Objekt welches dargestellt werden soll.</entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <para>
+            Es existiert ein zusätzlicher Getter: <methodname>getType()</methodname>. Er gibt den
+            Namen der Renderer Klasse ohne den Namespace zurück (z.B. gibt
+            <classname>Zend_Barcode_Renderer_Image</classname> "image" zurück.
         </para>
+    </sect2>
 
-		<para>Vorhandene Optionen sind:</para>
-
-		<table id="zend.barcode.renderers.image.table">
-			<title>Zend_Barcode_Renderer_Image Optionen</title>
-
-			<tgroup cols="4">
-				<thead>
-					<row>
-						<entry>Option</entry>
-						<entry>Daten Typ</entry>
-						<entry>Standardwert</entry>
-						<entry>Beschreibung</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>
-							<emphasis>height</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>0</entry>
-
-						<entry>
-							Erlaubt es die Höhe des ergebenen Bildes zu spezifizieren. Wenn diese
-							"0" ist wird die Höhe vom Barcode Objekt kalkuliert.
+    <sect2 id="zend.barcode.renderers.image">
+        <title>Zend_Barcode_Renderer_Image</title>
+
+        <para>
+            Der Image Renderer zeichnet die Anweisungsliste des Barcode Obejekts in eine Bild
+            Ressource. Die Komponente benötigt die GD Erweiterung. Die Standardbreite eines
+            Moduls ist 1 Pixel.
+        </para>
+
+        <para>Vorhandene Optionen sind:</para>
+
+        <table id="zend.barcode.renderers.image.table">
+            <title>Zend_Barcode_Renderer_Image Optionen</title>
+
+            <tgroup cols="4">
+                <thead>
+                    <row>
+                        <entry>Option</entry>
+                        <entry>Daten Typ</entry>
+                        <entry>Standardwert</entry>
+                        <entry>Beschreibung</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>height</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0</entry>
+
+                        <entry>
+                            Erlaubt es die Höhe des ergebenen Bildes zu spezifizieren. Wenn diese
+                            "0" ist wird die Höhe vom Barcode Objekt kalkuliert.
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>width</emphasis>
-						</entry>
-						<entry>
-							<type>Integer</type>
-						</entry>
-						<entry>0</entry>
-
-						<entry>
-							Erlaubt es die Breite des ergebenden Bildes zu spezifizieren. Wenn diese
-							"0" ist wird die Breite vom Barcode Objekt kalkuliert.
+                    </row>
+
+                    <row>
+                        <entry><emphasis>width</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0</entry>
+
+                        <entry>
+                            Erlaubt es die Breite des ergebenden Bildes zu spezifizieren. Wenn diese
+                            "0" ist wird die Breite vom Barcode Objekt kalkuliert.
                         </entry>
-					</row>
-
-					<row>
-						<entry>
-							<emphasis>imageType</emphasis>
-						</entry>
-						<entry>
-							<type>String</type>
-						</entry>
-						<entry>"png"</entry>
-
-						<entry>
-							Spezifiziert das Bildformat. Kann "png", "jpeg", "jpg" oder "gif" sein.
+                    </row>
+
+                    <row>
+                        <entry><emphasis>imageType</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>"png"</entry>
+
+                        <entry>
+                            Spezifiziert das Bildformat. Kann "png", "jpeg", "jpg" oder "gif" sein.
                         </entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-	</sect2>
-
-	<sect2 id="zend.barcode.renderers.pdf">
-		<title>Zend_Barcode_Renderer_Pdf</title>
-
-		<para>
-			Der
-			<acronym>PDF</acronym>
-			Renderer zeichnet die Anweisungsliste des Barcode Objekts in
-			ein
-			<acronym>PDF</acronym>
-			Dokument. Die Standardbreite eines Moduls ist 0.5 Punkt.
-		</para>
-
-		<para>
-			Es gibt keine speziellen Optionen für diesen Renderer.
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+    </sect2>
+
+    <sect2 id="zend.barcode.renderers.pdf">
+        <title>Zend_Barcode_Renderer_Pdf</title>
+
+        <para>
+            Der <acronym>PDF</acronym> Renderer zeichnet die Anweisungsliste des Barcode Objekts in
+            ein <acronym>PDF</acronym> Dokument. Die Standardbreite eines Moduls ist 0.5 Punkt.
+        </para>
+
+        <para>
+            Es gibt keine speziellen Optionen für diesen Renderer.
         </para>
-	</sect2>
+    </sect2>
 </sect1>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 561 - 818
documentation/manual/de/module_specs/Zend_Cache-Backends.xml


+ 72 - 122
documentation/manual/de/module_specs/Zend_Cache-Cache_Manager.xml

@@ -2,47 +2,32 @@
 <!-- EN-Revision: 21109 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.cache.cache.manager">
-	<title>Der Cache Manager</title>
-
-	<para>
-		Es ist die Natur von Anwendungen eine Vielzahl an Caches jedes Types
-		zu benötigen oft
-		abhängig vom Controller, der Bibliothek oder dem Domainmodell auf das
-		zugegriffen wird.
-		Um die einfache Definition von
-		<classname>Zend_Cache</classname>
-		Optionen zu erlauben
-		(wie von der Bootstrap), damit auf ein Cacheobjekt zugegriffen werden kann
-		und nur ein
-		minimales Setup im Sourcecode der Anwendung benötigt wird, wurde die Klasse
-		<classname>Zend_Cache_Manager</classname>
-		geschrieben. Diese Klasse wird von
-		<classname>Zend_Application_Resource_Cachemanager</classname>
-		verwendet um sicherzustellen
-		das die Konfiguration der Bootstrap vorhanden ist, und
-		<classname>Zend_Controller_Action_Helper_Cache</classname>
-		um einen einfachen Zugriff und
-		eine einfache Instanzierung von Controllern und anderen Helfern zu
-		erlauben.
-	</para>
-
-	<para>
-		Die grundsätzliche Operation dieser Komponente ist wie folgt. Der
-		Cache Manager erlaubt es
-		Benutzern "Option Templates" zu konfigurieren, grundsätzlich Optionen für ein
-		Set von
-		benannten Caches. Diese können gesetzt werden indem die Methode
-		<methodname>Zend_Cache_Manager::setCacheTemplate()</methodname>
-		verwendet wird. Diese
-		Templates führen einen Cache nicht aus solange der Benutzer nicht versucht
-		einen benannten
-		Cache zu empfangen (assoziiert mit einem existierenden Optionstemplate)
-		indem die Methode
-		<methodname>Zend_Cache_Manager::getCache()</methodname>
-		verwendet wird.
-	</para>
-
-	<programlisting language="php"><![CDATA[
+    <title>Der Cache Manager</title>
+
+    <para>
+        Es ist die Natur von Anwendungen eine Vielzahl an Caches jedes Types zu benötigen oft
+        abhängig vom Controller, der Bibliothek oder dem Domainmodell auf das zugegriffen wird.
+        Um die einfache Definition von <classname>Zend_Cache</classname> Optionen zu erlauben
+        (wie von der Bootstrap), damit auf ein Cacheobjekt zugegriffen werden kann und nur ein
+        minimales Setup im Sourcecode der Anwendung benötigt wird, wurde die Klasse
+        <classname>Zend_Cache_Manager</classname> geschrieben. Diese Klasse wird von
+        <classname>Zend_Application_Resource_Cachemanager</classname> verwendet um sicherzustellen
+        das die Konfiguration der Bootstrap vorhanden ist, und
+        <classname>Zend_Controller_Action_Helper_Cache</classname> um einen einfachen Zugriff und
+        eine einfache Instanzierung von Controllern und anderen Helfern zu erlauben.
+    </para>
+
+    <para>
+        Die grundsätzliche Operation dieser Komponente ist wie folgt. Der Cache Manager erlaubt es
+        Benutzern "Option Templates" zu konfigurieren, grundsätzlich Optionen für ein Set von
+        benannten Caches. Diese können gesetzt werden indem die Methode
+        <methodname>Zend_Cache_Manager::setCacheTemplate()</methodname> verwendet wird. Diese
+        Templates führen einen Cache nicht aus solange der Benutzer nicht versucht einen benannten
+        Cache zu empfangen (assoziiert mit einem existierenden Optionstemplate) indem die Methode
+        <methodname>Zend_Cache_Manager::getCache()</methodname> verwendet wird.
+    </para>
+
+    <programlisting language="php"><![CDATA[
 $manager = new Zend_Cache_Manager;
 
 $dbCache = array(
@@ -69,15 +54,12 @@ $manager->setCacheTemplate('database', $dbCache);
 $databaseCache = $manager->getCache('database');
 ]]></programlisting>
 
-	<para>
-		Der Cache Manager erlaubt das einfache Erstellen von vor-instanzierten
-		Caches durch
-		Verwenden der Methode
-		<methodname>Zend_Cache_Manager::setCache()</methodname>
-		.
-	</para>
+    <para>
+        Der Cache Manager erlaubt das einfache Erstellen von vor-instanzierten Caches durch
+        Verwenden der Methode <methodname>Zend_Cache_Manager::setCache()</methodname>.
+    </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 $frontendOptions = array(
    'lifetime' => 7200,
    'automatic_serialization' => true
@@ -101,19 +83,14 @@ $manager->setCache('database', $dbCache);
 $databaseCache = $manager->getCache('database');
 ]]></programlisting>
 
-	<para>
-		Wenn man aus irgendeinem Grund unsicher ist ob der Cache Manager einen
-		vor-instanzierten
-		Cache enthält oder ein relevantes Option Cache Template um einen auf
-		Anfrage zu erstellen,
-		kann die Existenz einer benannten Cachekonfiguration oder Instanz geprüft
-		werden indem die
-		Methode
-		<methodname>Zend_Cache_Manager::hasCache()</methodname>
-		verwendet wird.
-	</para>
-
-	<programlisting language="php"><![CDATA[
+    <para>
+        Wenn man aus irgendeinem Grund unsicher ist ob der Cache Manager einen vor-instanzierten
+        Cache enthält oder ein relevantes Option Cache Template um einen auf Anfrage zu erstellen,
+        kann die Existenz einer benannten Cachekonfiguration oder Instanz geprüft werden indem die
+        Methode <methodname>Zend_Cache_Manager::hasCache()</methodname> verwendet wird.
+    </para>
+
+    <programlisting language="php"><![CDATA[
 $manager = new Zend_Cache_Manager;
 
 $dbCache = array(
@@ -144,22 +121,15 @@ if ($manager->hasCache('database')) {
 }
 ]]></programlisting>
 
-	<para>
-		In einigen Szenarios könnte man eine Anzahl von generell zu
-		verwendenden Caches definiert
-		haben indem
-		<classname>Zend_Cache_Manager</classname>
-		verwendet wird, aber deren Optionen
-		feintunen bevor Sie anhängig von Ihren Notwendigkeiten verwendet werden. Man
-		kann vorher
-		gesetzte Cache Templates on the fly bearbeiten bevor Sie instanziert werden
-		indem die
-		Methode
-		<methodname>Zend_Cache_Manager::setTemplateOptions()</methodname>
-		verwendet wird.
-	</para>
-
-	<programlisting language="php"><![CDATA[
+    <para>
+        In einigen Szenarios könnte man eine Anzahl von generell zu verwendenden Caches definiert
+        haben indem <classname>Zend_Cache_Manager</classname> verwendet wird, aber deren Optionen
+        feintunen bevor Sie anhängig von Ihren Notwendigkeiten verwendet werden. Man kann vorher
+        gesetzte Cache Templates on the fly bearbeiten bevor Sie instanziert werden indem die
+        Methode <methodname>Zend_Cache_Manager::setTemplateOptions()</methodname> verwendet wird.
+    </para>
+
+    <programlisting language="php"><![CDATA[
 $manager = new Zend_Cache_Manager;
 
 $dbCache = array(
@@ -208,48 +178,28 @@ $manager->setTemplateOptions('database', $fineTuning);
 $databaseCache = $manager->getCache('database');
 ]]></programlisting>
 
-	<para>
-		Um zu helfen den Cache Manager sinnvoller zu machen wird
-		<classname>Zend_Application_Resource_Cachemanager</classname>
-		und auch der Action Helfer
-		<classname>Zend_Controller_Action_Helper_Cache</classname>
-		angeboten. Beide sind in den
-		betreffenden Abschnitten des Referenz Handbuchs beschrieben.
-	</para>
-
-	<para>
-		<classname>Zend_Cache_Manager</classname>
-		enthält bereits vier vordefinierte Cache Templates
-		welche "skeleton", "default", "page" und "tagcache" heißen. Der
-		Standardcache ist ein
-		einfacher Dateibasierter Cache welcher das Core Frontend verwendet und annimmt
-		das ein
-		cache_dir auf dem gleichen Level wie das konventionelle "public" Verzeichnis
-		einer Zend
-		Framework Anwendung existiert und "cache" heißt. Der Skeleton Cache ist aktuell
-		ein
-		<constant>NULL</constant>
-		Cache, er enthält also keine Optionen. Die verbleibenden zwei
-		Caches werden verwendet um einen standardmäßigen statischen Seitencache zu
-		implementieren
-		wobei statisches
-		<acronym>HTML</acronym>
-		,
-		<acronym>XML</acronym>
-		oder sogar
-		<acronym>JSON</acronym>
-		in statische Dateien unter
-		<filename>/public</filename>
-		geschrieben
-		sein können. Die Kontrolle über einen statischen Seitencache wird über
-		<classname>Zend_Controller_Action_Helper_Cache</classname>
-		angeboten, und man kann
-		die Einstellungen dieser "page" verändern und den "tagcache" den Sie
-		verwendet um Tags
-		zu verfolgen indem
-		<methodname>Zend_Cache_Manager::setTemplateOptions()</methodname>
-		verwendet wird, oder sogar
-		<methodname>Zend_Cache_Manager::setCacheTemplate()</methodname>
-		wenn alle deren Optionen überladen werden.
-	</para>
+    <para>
+        Um zu helfen den Cache Manager sinnvoller zu machen wird
+        <classname>Zend_Application_Resource_Cachemanager</classname> und auch der Action Helfer
+        <classname>Zend_Controller_Action_Helper_Cache</classname> angeboten. Beide sind in den
+        betreffenden Abschnitten des Referenz Handbuchs beschrieben.
+    </para>
+
+    <para>
+        <classname>Zend_Cache_Manager</classname> enthält bereits vier vordefinierte Cache Templates
+        welche "skeleton", "default", "page" und "tagcache" heißen. Der Standardcache ist ein
+        einfacher Dateibasierter Cache welcher das Core Frontend verwendet und annimmt das ein
+        cache_dir auf dem gleichen Level wie das konventionelle "public" Verzeichnis einer Zend
+        Framework Anwendung existiert und "cache" heißt. Der Skeleton Cache ist aktuell ein
+        <constant>NULL</constant> Cache, er enthält also keine Optionen. Die verbleibenden zwei
+        Caches werden verwendet um einen standardmäßigen statischen Seitencache zu implementieren
+        wobei statisches <acronym>HTML</acronym>, <acronym>XML</acronym> oder sogar
+        <acronym>JSON</acronym> in statische Dateien unter <filename>/public</filename> geschrieben
+        sein können. Die Kontrolle über einen statischen Seitencache wird über
+        <classname>Zend_Controller_Action_Helper_Cache</classname> angeboten, und man kann
+        die Einstellungen dieser "page" verändern und den "tagcache" den Sie verwendet um Tags
+        zu verfolgen indem <methodname>Zend_Cache_Manager::setTemplateOptions()</methodname>
+        verwendet wird, oder sogar <methodname>Zend_Cache_Manager::setCacheTemplate()</methodname>
+        wenn alle deren Optionen überladen werden.
+    </para>
 </sect1>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 747 - 1110
documentation/manual/de/module_specs/Zend_Cache-Frontends.xml


+ 97 - 150
documentation/manual/de/module_specs/Zend_Cache-Introduction.xml

@@ -2,62 +2,38 @@
 <!-- EN-Revision: 20765 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.cache.introduction">
-	<title>Einführung</title>
-
-	<para>
-		<classname>Zend_Cache</classname>
-		bietet einen generellen Weg für das Cachen von Daten.
-	</para>
-
-	<para>
-		Cachen im Zend Framework wird mit Frontends durchgeführt, wobei Cache
-		Datensätze über
-		Backend Adapter (
-		<emphasis>File</emphasis>
-		,
-		<emphasis>Sqlite</emphasis>
-		,
-		<emphasis>Memcached</emphasis>
-		...), durch ein flexibles System von IDs und Tags, gespeichert
-		werden. Durch deren Verwendung ist es einfach, spezielle Typen von
-		Datensätzen im Nachhinein
-		zu Löschen (zum Beispiel: "Löschen aller Cache Datensätze welche mit
-		einem bestimmten Tag
-		markiert sind").
-	</para>
-
-	<para>
-		Der Kern des Moduls (
-		<classname>Zend_Cache_Core</classname>
-		) ist generell, flexibel und
-		konfigurierbar. Nun gibt es - für spezielle Bedürfnisse - Cache Frontends, welche
-		<classname>Zend_Cache_Core</classname>
-		erweitern:
-		<emphasis>Output</emphasis>
-		,
-		<emphasis>File</emphasis>
-		,
-		<emphasis>Function</emphasis>
-		und
-		<emphasis>Class</emphasis>
-		.
-	</para>
-
-	<example id="zend.cache.introduction.example-1">
-		<title>Ein Frontend mit Zend_Cache::factory() erzeugen</title>
-
-		<para>
-			<methodname>Zend_Cache::factory()</methodname>
-			instanziiert korrekte Objekte und fügt
-			sie zusammen. In diesem ersten Beispiel wird das
-			<emphasis>Core</emphasis>
-			Frontend
-			zusammen mit dem
-			<emphasis>File</emphasis>
-			Backend verwendet.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    <title>Einführung</title>
+
+    <para>
+        <classname>Zend_Cache</classname> bietet einen generellen Weg für das Cachen von Daten.
+    </para>
+
+    <para>
+        Cachen im Zend Framework wird mit Frontends durchgeführt, wobei Cache Datensätze über
+        Backend Adapter (<emphasis>File</emphasis>, <emphasis>Sqlite</emphasis>,
+        <emphasis>Memcached</emphasis>...), durch ein flexibles System von IDs und Tags, gespeichert
+        werden. Durch deren Verwendung ist es einfach, spezielle Typen von Datensätzen im Nachhinein
+        zu Löschen (zum Beispiel: "Löschen aller Cache Datensätze welche mit einem bestimmten Tag
+        markiert sind").
+    </para>
+
+    <para>
+        Der Kern des Moduls (<classname>Zend_Cache_Core</classname>) ist generell, flexibel und
+        konfigurierbar. Nun gibt es - für spezielle Bedürfnisse - Cache Frontends, welche
+        <classname>Zend_Cache_Core</classname> erweitern: <emphasis>Output</emphasis>,
+        <emphasis>File</emphasis>, <emphasis>Function</emphasis> und <emphasis>Class</emphasis>.
+    </para>
+
+    <example id="zend.cache.introduction.example-1">
+        <title>Ein Frontend mit Zend_Cache::factory() erzeugen</title>
+
+        <para>
+            <methodname>Zend_Cache::factory()</methodname> instanziiert korrekte Objekte und fügt
+            sie zusammen. In diesem ersten Beispiel wird das <emphasis>Core</emphasis> Frontend
+            zusammen mit dem <emphasis>File</emphasis> Backend verwendet.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $frontendOptions = array(
    'lifetime' => 7200, // Lebensdauer des Caches 2 Stunden
    'automatic_serialization' => true
@@ -73,35 +49,31 @@ $cache = Zend_Cache::factory('Core',
                              $frontendOptions,
                              $backendOptions);
 ]]></programlisting>
-	</example>
-
-	<note>
-		<title>Frontends und Backends bestehend aus mehrfachen Wörtern</title>
-
-		<para>
-			Bei einige Frontends und Backends werden mehrere Wörter verwendet wie
-			z.B.
-			'ZendPlatform'. Wenn diese der Fabrik spezifiziert werden, müssen diese aufgeteilt
-			werden indem man ein Trennzeichen verwendet, wie z.B. das Leerzeichen
-			(' '), Bindestrich
-			('-'), oder den Punkt ('.').
+    </example>
+
+    <note>
+        <title>Frontends und Backends bestehend aus mehrfachen Wörtern</title>
+
+        <para>
+            Bei einige Frontends und Backends werden mehrere Wörter verwendet wie z.B.
+            'ZendPlatform'. Wenn diese der Fabrik spezifiziert werden, müssen diese aufgeteilt
+            werden indem man ein Trennzeichen verwendet, wie z.B. das Leerzeichen (' '), Bindestrich
+            ('-'), oder den Punkt ('.').
         </para>
-	</note>
-
-	<example id="zend.cache.introduction.example-2">
-		<title>Das Ergebnis einer Datenbankabfrage cachen</title>
-
-		<para>
-			Jetzt, da wir ein Frontend haben, kann jeder Typ von Daten gecached werden
-			(Serialisierung ist eingeschaltet). Zum Beispiel können Ergebnisse
-			von sehr
-			umfangreichen Datenbankabfragen gecached werden. Nach dem Cachen ist es sogar gar
-			nicht mehr notwendig, eine Verbindung zur Datenbank zu machen;
-			Datensätze werden vom
-			Cache genommen und deserialisiert.
+    </note>
+
+    <example id="zend.cache.introduction.example-2">
+        <title>Das Ergebnis einer Datenbankabfrage cachen</title>
+
+        <para>
+            Jetzt, da wir ein Frontend haben, kann jeder Typ von Daten gecached werden
+            (Serialisierung ist eingeschaltet). Zum Beispiel können Ergebnisse von sehr
+            umfangreichen Datenbankabfragen gecached werden. Nach dem Cachen ist es sogar gar
+            nicht mehr notwendig, eine Verbindung zur Datenbank zu machen; Datensätze werden vom
+            Cache genommen und deserialisiert.
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // $cache initialisiert im vorhergehenden Beispiel
 
 // Nachsehen, ob der Cache bereits existiert:
@@ -124,35 +96,26 @@ if(!$result = $cache->load('myresult')) {
 
 print_r($result);
 ]]></programlisting>
-	</example>
-
-	<example id="zend.cache.introduction.example-3">
-		<title>Cache Ausgabe mit dem Zend_Cache Frontend</title>
-
-		<para>
-			Abschnitte, in denen die Ausgabe gecached werden soll, werden
-			'markiert', durch
-			Hinzufügen von etwas bedingter Logik, wobei der Abschnitt innerhalb der
-			<methodname>start()</methodname>
-			und
-			<methodname>end()</methodname>
-			Methoden gekapselt
-			wird (das ähnelt dem ersten Beispiel, und ist eine Kernstrategie für das
-			Cachen).
-		</para>
-
-		<para>
-			Darin muß die Ausgabe der Daten wie immer geschehen - jede Ausgabe
-			wird gecached, wenn
-			die Ausführung auf die
-			<methodname>end()</methodname>
-			Methode trifft. Bei der nächsten
-			Ausführung wird der komplette Abschnitt übersprungen, dafür werden die Daten
-			vom Cache
-			geholt (solange der Cache Datensatz gültig ist).
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    </example>
+
+    <example id="zend.cache.introduction.example-3">
+        <title>Cache Ausgabe mit dem Zend_Cache Frontend</title>
+
+        <para>
+            Abschnitte, in denen die Ausgabe gecached werden soll, werden 'markiert', durch
+            Hinzufügen von etwas bedingter Logik, wobei der Abschnitt innerhalb der
+            <methodname>start()</methodname> und <methodname>end()</methodname> Methoden gekapselt
+            wird (das ähnelt dem ersten Beispiel, und ist eine Kernstrategie für das Cachen).
+        </para>
+
+        <para>
+            Darin muß die Ausgabe der Daten wie immer geschehen - jede Ausgabe wird gecached, wenn
+            die Ausführung auf die <methodname>end()</methodname> Methode trifft. Bei der nächsten
+            Ausführung wird der komplette Abschnitt übersprungen, dafür werden die Daten vom Cache
+            geholt (solange der Cache Datensatz gültig ist).
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $frontendOptions = array(
    'lifetime' => 30,                   // Lebenszeit des Caches 30 Sekunden
    'automatic_serialization' => false  // Dieser Wert ist der Standardwert
@@ -178,43 +141,27 @@ if(!$cache->start('mypage')) {
 echo 'Das wird nie gecached ('.time().').';
 ]]></programlisting>
 
-		<para>
-			Zu beachten ist dass das Ergebnis von
-			<methodname>time()</methodname>
-			zweimal ausgegeben
-			wird; das ist etwas dynamisches für Demonstrationszwecke. Beim Versuch
-			dieses
-			auszuführen und mehrfach zu refreshen, kann bemerkt werden, dass sich die erste
-			Nummer
-			nie ändert, während die zweite sich ändert, während die Zeit
-			verstreicht. Das
-			geschieht, weil die erste Nummer, die im gecacheten Abschnitt ausgegeben wird,
-			im
-			Gegensatz zur anderen Ausgabe gecached wurde. Nach einer halben Minute (die
-			Lebensdauer
-			wurde auf 30 Sekunden gesetzt) sind die Nummern wieder identisch, weil der
-			Cache
-			Eintrag abgelaufen ist - er muß wieder gecached werden. Man sollte das im
-			Browser oder
-			in der Konsole testen.
-		</para>
-	</example>
-
-	<note>
-		<para>
-			Wenn
-			<classname>Zend_Cache</classname>
-			benutzt wird, muß auf die wichtigen Cache
-			Identifizierungen geachtet werden (welche an
-			<methodname>save()</methodname>
-			und
-			<methodname>start()</methodname>
-			übergeben werden). Diese müssen für jede Ressource
-			einzigartig sein, die gecached werden soll. Andernfalls würden sich unverknüpfte
-			Cache
-			Datensätze gegenseitig entfernen oder, noch schlimmer, anstatt des anderen
-			dargestellt
-			werden.
-		</para>
-	</note>
+        <para>
+            Zu beachten ist dass das Ergebnis von <methodname>time()</methodname> zweimal ausgegeben
+            wird; das ist etwas dynamisches für Demonstrationszwecke. Beim Versuch dieses
+            auszuführen und mehrfach zu refreshen, kann bemerkt werden, dass sich die erste Nummer
+            nie ändert, während die zweite sich ändert, während die Zeit verstreicht. Das
+            geschieht, weil die erste Nummer, die im gecacheten Abschnitt ausgegeben wird, im
+            Gegensatz zur anderen Ausgabe gecached wurde. Nach einer halben Minute (die Lebensdauer
+            wurde auf 30 Sekunden gesetzt) sind die Nummern wieder identisch, weil der Cache
+            Eintrag abgelaufen ist - er muß wieder gecached werden. Man sollte das im Browser oder
+            in der Konsole testen.
+        </para>
+    </example>
+
+    <note>
+        <para>
+            Wenn <classname>Zend_Cache</classname> benutzt wird, muß auf die wichtigen Cache
+            Identifizierungen geachtet werden (welche an <methodname>save()</methodname> und
+            <methodname>start()</methodname> übergeben werden). Diese müssen für jede Ressource
+            einzigartig sein, die gecached werden soll. Andernfalls würden sich unverknüpfte Cache
+            Datensätze gegenseitig entfernen oder, noch schlimmer, anstatt des anderen dargestellt
+            werden.
+        </para>
+    </note>
 </sect1>

+ 114 - 167
documentation/manual/de/module_specs/Zend_Cache-Theory.xml

@@ -2,79 +2,53 @@
 <!-- EN-Revision: 21109 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.cache.theory">
-	<title>Die Theorie des Cachens</title>
-
-	<para>
-		Es gibt 3 Schlüsselkonzepte in
-		<classname>Zend_Cache</classname>
-		. Eines ist die eindeutige
-		Identifizierung (ein String), die benutzt wird, um Cache Datensätze zu
-		identifizieren. Das
-		zweite ist die
-		<emphasis>'lifetime'</emphasis>
-		Direktive, wie im Beispiel gezeigt; sie
-		definiert, wie lange eine gecachte Ressource als 'frisch' betrachtet wird. Das
-		dritte
-		Konzept ist die bedingte Ausführung, so das Teile des Codes komplett
-		übersprungen werden
-		können, was die Leistung steigert. Die Haupt-Frontend Funktion (eg.
-		<methodname>Zend_Cache_Core::get()</methodname>
-		) ist immer so gestaltet, das
-		<constant>FALSE</constant>
-		zurückgegeben wird, wenn ein Cache fehlt. Aber nur, wenn das für
-		die Natur des Frontends Sinn macht. Das erlaubt es Endbenutzern, die
-		Teile des Codes, die
-		gecached (oder übersprungen) werden sollen, in
-		<emphasis>
-			<methodname>if()</methodname>
-			{ ... }
-		</emphasis>
-		Anweisungen zu umhüllen, wobei
-		die Bedingung die
-		<classname>Zend_Cache</classname>
-		Methode selbst ist. Am Ende der Blöcke
-		muss das erstellte auf alle Fälle gespeichert werden (z.B.
-		<methodname>Zend_Cache_Core::save()</methodname>
-		).
-	</para>
-
-	<note>
-		<para>
-			Das Design der bedingten Ausführung des erzeugten Codes ist in
-			einigen Frontends nicht
-			notwendig (
-			<emphasis>Function</emphasis>
-			, zum Beispiel) wenn die komplette Logik im
-			verwendeten Frontend integriert ist.
-		</para>
-	</note>
-
-	<note>
-		<para>
-			'Cache hit' ist ein Ausdruck für eine Bedingung, wenn ein Cache Datensatz
-			gefunden
-			wurde, er gültig und 'frisch' ist (in anderen Worten, er ist noch nicht
-			abgelaufen).
-			'Cache miss' ist alles andere. Wenn ein 'Cache miss' passiert, müssen die
-			Daten erzeugt
-			werden (wie man es normalerweise tun würde) und anschließend cachen. Wenn
-			ein
-			'Cache hit' geschieht muß, auf der anderen Seite, das Backend automatisch
-			den Datensatz
-			vom Cache transparent holen.
+    <title>Die Theorie des Cachens</title>
+
+    <para>
+        Es gibt 3 Schlüsselkonzepte in <classname>Zend_Cache</classname>. Eines ist die eindeutige
+        Identifizierung (ein String), die benutzt wird, um Cache Datensätze zu identifizieren. Das
+        zweite ist die <emphasis>'lifetime'</emphasis> Direktive, wie im Beispiel gezeigt; sie
+        definiert, wie lange eine gecachte Ressource als 'frisch' betrachtet wird. Das dritte
+        Konzept ist die bedingte Ausführung, so das Teile des Codes komplett übersprungen werden
+        können, was die Leistung steigert. Die Haupt-Frontend Funktion (eg.
+        <methodname>Zend_Cache_Core::get()</methodname>) ist immer so gestaltet, das
+        <constant>FALSE</constant> zurückgegeben wird, wenn ein Cache fehlt. Aber nur, wenn das für
+        die Natur des Frontends Sinn macht. Das erlaubt es Endbenutzern, die Teile des Codes, die
+        gecached (oder übersprungen) werden sollen, in
+        <emphasis><methodname>if()</methodname>{ ... }</emphasis> Anweisungen zu umhüllen, wobei
+        die Bedingung die <classname>Zend_Cache</classname> Methode selbst ist. Am Ende der Blöcke
+        muss das erstellte auf alle Fälle gespeichert werden (z.B.
+        <methodname>Zend_Cache_Core::save()</methodname>).
+    </para>
+
+    <note>
+        <para>
+            Das Design der bedingten Ausführung des erzeugten Codes ist in einigen Frontends nicht
+            notwendig (<emphasis>Function</emphasis>, zum Beispiel) wenn die komplette Logik im
+            verwendeten Frontend integriert ist.
         </para>
-	</note>
+    </note>
+
+    <note>
+        <para>
+            'Cache hit' ist ein Ausdruck für eine Bedingung, wenn ein Cache Datensatz gefunden
+            wurde, er gültig und 'frisch' ist (in anderen Worten, er ist noch nicht abgelaufen).
+            'Cache miss' ist alles andere. Wenn ein 'Cache miss' passiert, müssen die Daten erzeugt
+            werden (wie man es normalerweise tun würde) und anschließend cachen. Wenn ein
+            'Cache hit' geschieht muß, auf der anderen Seite, das Backend automatisch den Datensatz
+            vom Cache transparent holen.
+        </para>
+    </note>
 
-	<sect2 id="zend.cache.factory">
-		<title>Die Zend_Cache Factory Methode</title>
+    <sect2 id="zend.cache.factory">
+        <title>Die Zend_Cache Factory Methode</title>
 
-		<para>
-			Ein guter Weg, um eine verwendbare Instanz eines
-			<classname>Zend_Cache</classname>
-			Frontends zu erstellen, wird im folgenden Beispiel gegeben:
-		</para>
+        <para>
+            Ein guter Weg, um eine verwendbare Instanz eines <classname>Zend_Cache</classname>
+            Frontends zu erstellen, wird im folgenden Beispiel gegeben:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Wir wählen ein Backend (zum Beispiel 'File' oder 'Sqlite'...)
 $backendName = '[...]';
 
@@ -95,83 +69,65 @@ $cache = Zend_Cache::factory($frontendName,
                              $backendOptions);
 ]]></programlisting>
 
-		<para>
-			In den folgenden Beispielen wird angenommen, dass die
-			<varname>$cache</varname>
-			Variable
-			ein gültiges, initiiertes Frontend wie gezeigt enthält und dass
-			verstanden wird, wie
-			Parameter an das ausgewählte Backend übergeben werden.
-		</para>
-
-		<note>
-			<para>
-				Immer
-				<methodname>Zend_Cache::factory()</methodname>
-				benutzen, um eine Frontend
-				Instanz zu bekommen. Das selbstständige Instantiieren von Frontends und
-				Backends
-				funktioniert nicht so wie erwartet.
-			</para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.cache.tags">
-		<title>Markierte Datensätze</title>
-
-		<para>
-			Markierungen sind ein Weg um Cache Datensätze zu kategorisieren. Wenn
-			der Cache mit der
-			<methodname>save()</methodname>
-			Methode abgespeichert werden soll, kann ein Array mit
-			Markierungen für diesen Datensatz angelegt werden. Dann besteht die Möglichkeit,
-			alle
-			markierten Cache Datensätze mit einer bestimmten Markierung (oder
-			Markierungen), zu
-			löschen:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            In den folgenden Beispielen wird angenommen, dass die <varname>$cache</varname> Variable
+            ein gültiges, initiiertes Frontend wie gezeigt enthält und dass verstanden wird, wie
+            Parameter an das ausgewählte Backend übergeben werden.
+        </para>
+
+        <note>
+            <para>
+                Immer <methodname>Zend_Cache::factory()</methodname> benutzen, um eine Frontend
+                Instanz zu bekommen. Das selbstständige Instantiieren von Frontends und Backends
+                funktioniert nicht so wie erwartet.
+            </para>
+        </note>
+    </sect2>
+
+    <sect2 id="zend.cache.tags">
+        <title>Markierte Datensätze</title>
+
+        <para>
+            Markierungen sind ein Weg um Cache Datensätze zu kategorisieren. Wenn der Cache mit der
+            <methodname>save()</methodname> Methode abgespeichert werden soll, kann ein Array mit
+            Markierungen für diesen Datensatz angelegt werden. Dann besteht die Möglichkeit, alle
+            markierten Cache Datensätze mit einer bestimmten Markierung (oder Markierungen), zu
+            löschen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $cache->save($huge_data, 'myUniqueID', array('tagA', 'tagB', 'tagC'));
 ]]></programlisting>
 
-		<note>
-			<para>
-				Man beachte, dass die
-				<methodname>save()</methodname>
-				Method einen optionales,
-				viertes Argument akzeptiert:
-				<varname>$specificLifetime</varname>
-				(wenn !=
-				<constant>FALSE</constant>
-				, setzt es eine spezifische Laufzeit für diesen speziellen
-				Cache Eintrag)
-			</para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.cache.clean">
-		<title>Löschen des Caches</title>
-
-		<para>
-			Um eine bestimmte Cache ID zu entfernen oder annullieren, kann die
-			<methodname>remove()</methodname>
-			Methode benutzt werden:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <note>
+            <para>
+                Man beachte, dass die <methodname>save()</methodname> Method einen optionales,
+                viertes Argument akzeptiert: <varname>$specificLifetime</varname> (wenn !=
+                <constant>FALSE</constant>, setzt es eine spezifische Laufzeit für diesen speziellen
+                Cache Eintrag)
+            </para>
+        </note>
+    </sect2>
+
+    <sect2 id="zend.cache.clean">
+        <title>Löschen des Caches</title>
+
+        <para>
+            Um eine bestimmte Cache ID zu entfernen oder annullieren, kann die
+            <methodname>remove()</methodname> Methode benutzt werden:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $cache->remove('idToRemove');
 ]]></programlisting>
 
-		<para>
-			Um mehrere Cache IDs mit einer Operation zu entfernen oder
-			annulieren, kann die
-			<methodname>clean()</methodname>
-			Methode benutzt werden. Zum Beispiel um alle Cache
-			Datensätze zu entfernen :
-		</para>
+        <para>
+            Um mehrere Cache IDs mit einer Operation zu entfernen oder annulieren, kann die
+            <methodname>clean()</methodname> Methode benutzt werden. Zum Beispiel um alle Cache
+            Datensätze zu entfernen :
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Löschen aller Datensätze
 $cache->clean(Zend_Cache::CLEANING_MODE_ALL);
 
@@ -179,56 +135,47 @@ $cache->clean(Zend_Cache::CLEANING_MODE_ALL);
 $cache->clean(Zend_Cache::CLEANING_MODE_OLD);
 ]]></programlisting>
 
-		<para>
-			Um Cache Einträge zu löschen, die zu den Tags 'tagA' und 'tagC'
-			entsprechen :
+        <para>
+            Um Cache Einträge zu löschen, die zu den Tags 'tagA' und 'tagC' entsprechen :
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $cache->clean(
     Zend_Cache::CLEANING_MODE_MATCHING_TAG,
     array('tagA', 'tagC')
 );
 ]]></programlisting>
 
-		<para>
-			Um Cache Einträge zu löschen die den Tags 'tagA' oder 'tagC' nicht
-			entsprechen:
+        <para>
+            Um Cache Einträge zu löschen die den Tags 'tagA' oder 'tagC' nicht entsprechen:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $cache->clean(
     Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG,
     array('tagA', 'tagC')
 );
 ]]></programlisting>
 
-		<para>
-			Um Cache Einträge zu löschen, die zu den Tags 'tagA' oder 'tagC'
-			entsprechen :
+        <para>
+            Um Cache Einträge zu löschen, die zu den Tags 'tagA' oder 'tagC' entsprechen :
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $cache->clean(
     Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG,
     array('tagA', 'tagC')
 );
 ]]></programlisting>
 
-		<para>
-			Mögliche Löschmodi sind:
-			<constant>CLEANING_MODE_ALL</constant>
-			,
-			<constant>CLEANING_MODE_OLD</constant>
-			,
-			<constant>CLEANING_MODE_MATCHING_TAG</constant>
-			,
-			<constant>CLEANING_MODE_NOT_MATCHING_TAG</constant>
-			und
-			<constant>CLEANING_MODE_MATCHING_ANY_TAG</constant>
-			. Die letzteren sind, wie deren
-			Namen vermuten lassen, kombiniert mit einem Array von Markierungen für die
-			Löschoperation.
-		</para>
-	</sect2>
+        <para>
+            Mögliche Löschmodi sind: <constant>CLEANING_MODE_ALL</constant>,
+            <constant>CLEANING_MODE_OLD</constant>,
+            <constant>CLEANING_MODE_MATCHING_TAG</constant>,
+            <constant>CLEANING_MODE_NOT_MATCHING_TAG</constant> und
+            <constant>CLEANING_MODE_MATCHING_ANY_TAG</constant>. Die letzteren sind, wie deren
+            Namen vermuten lassen, kombiniert mit einem Array von Markierungen für die
+            Löschoperation.
+        </para>
+    </sect2>
 </sect1>

+ 309 - 456
documentation/manual/de/module_specs/Zend_Captcha-Adapters.xml

@@ -2,464 +2,317 @@
 <!-- EN-Revision: 21815 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.captcha.adapters">
-	<title>CAPTCHA Adapter</title>
+    <title>CAPTCHA Adapter</title>
 
-	<para>
-		Die folgenden Adapter werden mit dem Zend Framework standardmäßig
-		ausgeliefert.
+    <para>
+        Die folgenden Adapter werden mit dem Zend Framework standardmäßig ausgeliefert.
     </para>
 
-	<sect2 id="zend.captcha.adapters.word">
-		<title>Zend_Captcha_Word</title>
-
-		<para>
-			<classname>Zend_Captcha_Word</classname>
-			ist ein abstrakter Adapter der als Basisklasse
-			für die meisten anderen
-			<acronym>CAPTCHA</acronym>
-			Adapter fungiert. Er bietet
-			Mutatoren für die Spezifizierung der Wortlänge, Session
-			<acronym>TTL</acronym>
-			, das
-			Session Namespaceobjekt das verwendet werden soll, und die Session
-			Namespaceklasse die
-			für die Persistenz zu verwenden ist wenn man
-			<classname>Zend_Session_Namespace</classname>
-			nicht verwenden will.
-			<classname>Zend_Captcha_Word</classname>
-			kapselt die Prüflogik.
-		</para>
-
-		<para>
-			Standardmäßig ist die Wortlänge 8 Zeichen, das Sessiontimeout 5
-			Minuten und für die
-			Persistenz wird
-			<classname>Zend_Session_Namespace</classname>
-			verwendet (wobei der
-			Namespace "
-			<classname>Zend_Form_Captcha_&lt;captcha ID&gt;</classname>
-			" verwendet
-			wird).
-		</para>
-
-		<para>
-			Zusätzlich zu den Methoden wie vom
-			<classname>Zend_Captcha_Adapter</classname>
-			Interface
-			benötigt werden bietet
-			<classname>Zend_Captcha_Word</classname>
-			die folgenden Methoden
-			an:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<methodname>setWordLen($length)</methodname>
-					und
-					<methodname>getWordLen()</methodname>
-					erlauben es die Länge des erzeugten
-					"Wortes" in Zeichen zu spezifizieren, und den aktuellen Wert zu erhalten.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setTimeout($ttl)</methodname>
-					und
-					<methodname>getTimeout()</methodname>
-					erlauben es die Lebenszeit des
-					Sessiontokens zu spezifizieren, und den aktuellen Wert er erhalten.
-					<varname>$ttl</varname>
-					sollte in Sekunden spezifiziert sein.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setUseNumbers($numbers)</methodname>
-					und
-					<methodname>getUseNumbers()</methodname>
-					erlauben es zu spezifizieren ob Nummern
-					als mögliche Zeichen für den Zufall funktionieren oder ob nur Zeichen
-					verwendet
-					werden.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setSessionClass($class)</methodname>
-					und
-					<methodname>getSessionClass()</methodname>
-					erlauben es eine alternative
-					<classname>Zend_Session_Namespace</classname>
-					Implementation zu spezifizieren
-					die verwendet werden soll um das
-					<acronym>CAPTCHA</acronym>
-					Token persistent zu
-					machen und den aktuellen Wert zu bekommen.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>getId()</methodname>
-					erlaubt es den aktuellen Tokenidentifikator zu
-					erhalten.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>getWord()</methodname>
-					erlaubt es das erzeugte Wort das mit dem
-					<acronym>CAPTCHA</acronym>
-					verwendet wird zu erhalten. Es wird das Wort erzeugen
-					wenn es bis dahin noch nicht erstellt wurde.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setSession(Zend_Session_Namespace $session)</methodname>
-					erlaubt es
-					ein Sessionobjekt zu spezifizieren das für die Persistenz des
-					<acronym>CAPTCHA</acronym>
-					Tokens verwendet wird.
-					<methodname>getSession()</methodname>
-					erlaubt es das aktuelle Sessionobjekt
-					zu erhalten.
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Alle Wort
-			<acronym>CAPTCHA</acronym>
-			s erlauben es ein Array von Optionen an den
-			Konstruktor zu übergeben, oder alternativ dieses an
-			<methodname>setOptions()</methodname>
-			zu übergeben. Man kann auch ein
-			<classname>Zend_Config</classname>
-			Objekt an
-			<methodname>setConfig()</methodname>
-			zu
-			übergeben. Standardmäßig können die
-			<emphasis>wordLen</emphasis>
-			,
-			<emphasis>timeout</emphasis>
-			, und
-			<emphasis>sessionClass</emphasis>
-			Schlüssel alle
-			verwendet werden. Jede konkrete Implementation kann zusätzliche Schlüssel
-			definieren
-			oder die Optionen auf einem anderen Weg verwenden.
-		</para>
-
-		<note>
-			<para>
-				<classname>Zend_Captcha_Word</classname>
-				ist eine abstrakte Klasse und kann nicht
-				direkt instanziiert werden.
-			</para>
-		</note>
-	</sect2>
-
-	<sect2 id="zend.captcha.adapters.dumb">
-		<title>Zend_Captcha_Dumb</title>
-
-		<para>
-			Der
-			<classname>Zend_Captcha_Dumb</classname>
-			Adapter ist fast selbsterklärend. Er
-			bietet einen zufälligen String der in umgekehrter Reihenfolge eingegeben
-			werden muß um
-			validiert zu werden. Als solches ist es keine gute
-			<acronym>CAPTCHA</acronym>
-			Lösung,
-			und sollte nur für Testzwecke verwendet werden. Er erweitert
-			<classname>Zend_Captcha_Word</classname>
-			.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.captcha.adapters.figlet">
-		<title>Zend_Captcha_Figlet</title>
-
-		<para>
-			Der
-			<classname>Zend_Captcha_Figlet</classname>
-			Adapter verwendet
-			<link linkend="zend.text.figlet">
-				<classname>Zend_Text_Figlet</classname>
-			</link>
-			um dem
-			Benutzer ein Figlet zu präsentieren.
-		</para>
-
-		<para>
-			Optionen die an den Konstruktor übergeben werden, werden auch an das
-			<link linkend="zend.text.figlet">
-				<classname>Zend_Text_Figlet</classname>
-			</link>
-			Objekt
-			übergeben. Schaue in die
-			<link linkend="zend.text.figlet">
-				<classname>Zend_Text_Figlet</classname>
-			</link>
-			Dokumentation für Details darüber welche Konfigurationsoptionen
-			vorhanden sind.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.captcha.adapters.image">
-		<title>Zend_Captcha_Image</title>
-
-		<para>
-			Der
-			<classname>Zend_Captcha_Image</classname>
-			Adapter nimmt das erzeugte Wort und
-			stellt es als Bild dar, führt diverse Verzerrungs-Permutationen durch und
-			mach es so
-			schwierig es automatisch zu entschlüsseln. Er benötigt die
-			<ulink url="http://php.net/gd">GD Erweiterung</ulink>
-			kompiliert mit TrueType oder
-			Freetype Unterstützung. Aktuell kann der
-			<classname>Zend_Captcha_Image</classname>
-			Adapter nur
-			<acronym>PNG</acronym>
-			Bilder erzeugen.
-		</para>
-
-		<para>
-			<classname>Zend_Captcha_Image</classname>
-			erweitert
-			<classname>Zend_Captcha_Word</classname>
-			, und bietet zusätzlich die folgenden Methoden:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<methodname>setExpiration($expiration)</methodname>
-					und
-					<methodname>getExpiration()</methodname>
-					erlauben es eine maximale Lebenszeit zu
-					definieren die das
-					<acronym>CAPTCHA</acronym>
-					Bild auf dem Dateisystem bleibt.
-					Das ist typischerweise längerer als die Session Lifetime. Die Garbage
-					Collection
-					läuft periodisch jedes Mal wenn das
-					<acronym>CAPTCHA</acronym>
-					Objekt enthalten
-					ist, und löscht die Bilder die abgelaufen sind. Der Wert der Löschung
-					sollte in
-					Sekunden angegeben werden.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setGcFreq($gcFreq)</methodname>
-					und
-					<methodname>getGcFreg()</methodname>
-					erlauben es zu Spezifizieren wie oft die
-					Garbage Collection laufen soll. Die Garbage Collection wird alle
-					<command>1/$gcFreq</command>
-					Aufrufe ausgeführt. Standard ist 100.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setFont($font)</methodname>
-					und
-					<methodname>getFont()</methodname>
-					erlauben es die Schrift zu Spezifizieren die man verwenden will.
-					<varname>$font</varname>
-					sollte ein voll qualifizierter Pfad zu der
-					Schriftart-Datei sein. Dieser Wert wird benötigt; das
-					<acronym>CAPTCHA</acronym>
-					wird während der Erzeugung eine Ausnahme werfen wenn die
-					Schriftdatei nicht
-					spezifiziert wurde.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setFontSize($fsize)</methodname>
-					und
-					<methodname>getFontSize()</methodname>
-					erlauben es die Schriftgröße in Pixel zu
-					Spezifizieren die verwendet wird wenn das
-					<acronym>CAPTCHA</acronym>
-					erzeugt
-					wird. Der Standardwert ist 24px.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setHeight($height)</methodname>
-					und
-					<methodname>getHeight()</methodname>
-					erlauben es die Höhe in Pixel zu
-					Spezifizieren die das erzeugte
-					<acronym>CAPTCHA</acronym>
-					Bild haben soll. Der
-					Standardwert ist 50px.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setWidth($width)</methodname>
-					und
-					<methodname>getWidth()</methodname>
-					erlauben es die Breite in Pixel zu
-					Spezifizieren die das erzeugte
-					<acronym>CAPTCHA</acronym>
-					Bild haben soll. Der
-					Standardwert ist 200px.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setImgDir($imgDir)</methodname>
-					und
-					<methodname>getImgDir()</methodname>
-					erlauben es das Verzeichnis für das
-					Speicher der
-					<acronym>CAPTCHA</acronym>
-					Bilder zu spezifizieren. Der
-					Standardwert ist "
-					<filename>./images/captcha/</filename>
-					", was relativ zum
-					Bootstrapskript zu sehen ist.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setImgUrl($imgUrl)</methodname>
-					und
-					<methodname>getImgUrl()</methodname>
-					erlauben es den Relativen Pfad zum
-					<acronym>CAPTCHA</acronym>
-					Bild für die Verwendung im
-					<acronym>HTML</acronym>
-					Markup zu spezifizieren. Der Standardwert ist
-					"
-					<filename>/images/captcha/</filename>
-					".
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setSuffix($suffix)</methodname>
-					und
-					<methodname>getSuffix()</methodname>
-					erlauben es die Endung des Dateinamens für
-					das
-					<acronym>CAPTCHA</acronym>
-					Bild zu spezifizieren. Der Standardwert ist
-					"
-					<filename>.png</filename>
-					". Beachte: Das Ändern dieses Wertes wird den Typ des
-					erzeugten Bildes nicht ändern.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setDotNoiseLevel($level)</methodname>
-					und
-					<methodname>getDotNoiseLevel()</methodname>
-					erlauben es zusammen mit
-					<methodname>setLineNoiseLevel($level)</methodname>
-					und
-					<methodname>getLineNoiseLevel()</methodname>
-					zu kontrollieren wieviel
-					"Rauschen" in der Form von zufälligen Punkten und Linien im Bild enthalten
-					sein
-					sollen. Jede Einheit von
-					<varname>$level</varname>
-					erzeugt einen zufälligen
-					Punkt oder eine Linie. Der Standard ist 100 Punkte und 5 Linien. Das
-					Rauschen
-					wird zweimal hinzugefügt - vor und nach der Umwandlung der Verzerrung
-					des
-					Bildes.
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Alle der obigen Optionen können an den Konstruktor übergeben werden indem
-			einfach der
-			Präfix der 'set' Methode entfernt wird und der Anfangsbuchstabe
-			kleingeschrieben wird:
-			"suffix", "height", "imgUrl", usw.
+    <sect2 id="zend.captcha.adapters.word">
+        <title>Zend_Captcha_Word</title>
+
+        <para>
+            <classname>Zend_Captcha_Word</classname> ist ein abstrakter Adapter der als Basisklasse
+            für die meisten anderen <acronym>CAPTCHA</acronym> Adapter fungiert. Er bietet
+            Mutatoren für die Spezifizierung der Wortlänge, Session <acronym>TTL</acronym>, das
+            Session Namespaceobjekt das verwendet werden soll, und die Session Namespaceklasse die
+            für die Persistenz zu verwenden ist wenn man
+            <classname>Zend_Session_Namespace</classname> nicht verwenden will.
+            <classname>Zend_Captcha_Word</classname> kapselt die Prüflogik.
         </para>
-	</sect2>
-
-	<sect2 id="zend.captcha.adapters.recaptcha">
-		<title>Zend_Captcha_ReCaptcha</title>
-
-		<para>
-			Der
-			<classname>Zend_Captcha_ReCaptcha</classname>
-			Adapter verwendet
-			<link linkend="zend.service.recaptcha">Zend_Service_ReCaptcha</link>
-			um
-			<acronym>CAPTCHA</acronym>
-			s zu erzeugen und zu prüfen. Es bietet die folgenden Methoden
-			an:
-		</para>
-
-		<itemizedlist>
-			<listitem>
-				<para>
-					<methodname>setPrivKey($key)</methodname>
-					und
-					<methodname>getPrivKey()</methodname>
-					erlauben es den privaten Schlüssel zu
-					spezifizieren der für den ReCaptcha Service verwendet werden soll. Er muß
-					während
-					der Erstellung spezifiziert werden, auch wenn er jederzeit
-					überschrieben werden
-					kann.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setPubKey($key)</methodname>
-					und
-					<methodname>getPubKey()</methodname>
-					erlauben es den öffentlichen Schlüssel zu
-					spezifizieren der mit dem ReCaptcha Service verwendet werden soll. Er muß
-					während
-					der Erstellung spezifiziert werden, auch wenn er jederzeit
-					überschrieben werden
-					kann.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<methodname>setService(Zend_Service_ReCaptcha $service)</methodname>
-					und
-					<methodname>getService()</methodname>
-					erlauben es das ReCaptcha Serviceobjekt zu
-					setzen und erhalten.
-				</para>
-			</listitem>
-		</itemizedlist>
-	</sect2>
+
+        <para>
+            Standardmäßig ist die Wortlänge 8 Zeichen, das Sessiontimeout 5 Minuten und für die
+            Persistenz wird <classname>Zend_Session_Namespace</classname> verwendet (wobei der
+            Namespace "<classname>Zend_Form_Captcha_&lt;captcha ID&gt;</classname>" verwendet
+            wird).
+        </para>
+
+        <para>
+            Zusätzlich zu den Methoden wie vom <classname>Zend_Captcha_Adapter</classname> Interface
+            benötigt werden bietet <classname>Zend_Captcha_Word</classname> die folgenden Methoden
+            an:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <methodname>setWordLen($length)</methodname> und
+                    <methodname>getWordLen()</methodname> erlauben es die Länge des erzeugten
+                    "Wortes" in Zeichen zu spezifizieren, und den aktuellen Wert zu erhalten.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setTimeout($ttl)</methodname> und
+                    <methodname>getTimeout()</methodname> erlauben es die Lebenszeit des
+                    Sessiontokens zu spezifizieren, und den aktuellen Wert er erhalten.
+                    <varname>$ttl</varname> sollte in Sekunden spezifiziert sein.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setUseNumbers($numbers)</methodname> und
+                    <methodname>getUseNumbers()</methodname> erlauben es zu spezifizieren ob Nummern
+                    als mögliche Zeichen für den Zufall funktionieren oder ob nur Zeichen verwendet
+                    werden.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setSessionClass($class)</methodname> und
+                    <methodname>getSessionClass()</methodname> erlauben es eine alternative
+                    <classname>Zend_Session_Namespace</classname> Implementation zu spezifizieren
+                    die verwendet werden soll um das <acronym>CAPTCHA</acronym> Token persistent zu
+                    machen und den aktuellen Wert zu bekommen.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getId()</methodname> erlaubt es den aktuellen Tokenidentifikator zu
+                    erhalten.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getWord()</methodname> erlaubt es das erzeugte Wort das mit dem
+                    <acronym>CAPTCHA</acronym> verwendet wird zu erhalten. Es wird das Wort erzeugen
+                    wenn es bis dahin noch nicht erstellt wurde.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setSession(Zend_Session_Namespace $session)</methodname> erlaubt es
+                    ein Sessionobjekt zu spezifizieren das für die Persistenz des
+                    <acronym>CAPTCHA</acronym> Tokens verwendet wird.
+                    <methodname>getSession()</methodname> erlaubt es das aktuelle Sessionobjekt
+                    zu erhalten.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Alle Wort <acronym>CAPTCHA</acronym>s erlauben es ein Array von Optionen an den
+            Konstruktor zu übergeben, oder alternativ dieses an
+            <methodname>setOptions()</methodname> zu übergeben. Man kann auch ein
+            <classname>Zend_Config</classname> Objekt an <methodname>setConfig()</methodname> zu
+            übergeben. Standardmäßig können die <emphasis>wordLen</emphasis>,
+            <emphasis>timeout</emphasis>, und <emphasis>sessionClass</emphasis> Schlüssel alle
+            verwendet werden. Jede konkrete Implementation kann zusätzliche Schlüssel definieren
+            oder die Optionen auf einem anderen Weg verwenden.
+        </para>
+
+        <note>
+            <para>
+                <classname>Zend_Captcha_Word</classname> ist eine abstrakte Klasse und kann nicht
+                direkt instanziiert werden.
+            </para>
+        </note>
+    </sect2>
+
+    <sect2 id="zend.captcha.adapters.dumb">
+        <title>Zend_Captcha_Dumb</title>
+
+        <para>
+            Der <classname>Zend_Captcha_Dumb</classname> Adapter ist fast selbsterklärend. Er
+            bietet einen zufälligen String der in umgekehrter Reihenfolge eingegeben werden muß um
+            validiert zu werden. Als solches ist es keine gute <acronym>CAPTCHA</acronym> Lösung,
+            und sollte nur für Testzwecke verwendet werden. Er erweitert
+            <classname>Zend_Captcha_Word</classname>.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.captcha.adapters.figlet">
+        <title>Zend_Captcha_Figlet</title>
+
+        <para>
+            Der <classname>Zend_Captcha_Figlet</classname> Adapter verwendet
+            <link linkend="zend.text.figlet"><classname>Zend_Text_Figlet</classname></link> um dem
+            Benutzer ein Figlet zu präsentieren.
+        </para>
+
+        <para>
+            Optionen die an den Konstruktor übergeben werden, werden auch an das
+            <link linkend="zend.text.figlet"><classname>Zend_Text_Figlet</classname></link> Objekt
+            übergeben. Schaue in die <link
+                linkend="zend.text.figlet"><classname>Zend_Text_Figlet</classname></link>
+            Dokumentation für Details darüber welche Konfigurationsoptionen vorhanden sind.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.captcha.adapters.image">
+        <title>Zend_Captcha_Image</title>
+
+        <para>
+            Der <classname>Zend_Captcha_Image</classname> Adapter nimmt das erzeugte Wort und
+            stellt es als Bild dar, führt diverse Verzerrungs-Permutationen durch und mach es so
+            schwierig es automatisch zu entschlüsseln. Er benötigt die
+            <ulink url="http://php.net/gd">GD Erweiterung</ulink> kompiliert mit TrueType oder
+            Freetype Unterstützung. Aktuell kann der <classname>Zend_Captcha_Image</classname>
+            Adapter nur <acronym>PNG</acronym> Bilder erzeugen.
+        </para>
+
+        <para>
+            <classname>Zend_Captcha_Image</classname> erweitert
+            <classname>Zend_Captcha_Word</classname>, und bietet zusätzlich die folgenden Methoden:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <methodname>setExpiration($expiration)</methodname> und
+                    <methodname>getExpiration()</methodname> erlauben es eine maximale Lebenszeit zu
+                    definieren die das <acronym>CAPTCHA</acronym> Bild auf dem Dateisystem bleibt.
+                    Das ist typischerweise längerer als die Session Lifetime. Die Garbage Collection
+                    läuft periodisch jedes Mal wenn das <acronym>CAPTCHA</acronym> Objekt enthalten
+                    ist, und löscht die Bilder die abgelaufen sind. Der Wert der Löschung sollte in
+                    Sekunden angegeben werden.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setGcFreq($gcFreq)</methodname> und
+                    <methodname>getGcFreg()</methodname> erlauben es zu Spezifizieren wie oft die
+                    Garbage Collection laufen soll. Die Garbage Collection wird alle
+                    <command>1/$gcFreq</command> Aufrufe ausgeführt. Standard ist 100.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setFont($font)</methodname> und <methodname>getFont()</methodname>
+                    erlauben es die Schrift zu Spezifizieren die man verwenden will.
+                    <varname>$font</varname> sollte ein voll qualifizierter Pfad zu der
+                    Schriftart-Datei sein. Dieser Wert wird benötigt; das <acronym>CAPTCHA</acronym>
+                    wird während der Erzeugung eine Ausnahme werfen wenn die Schriftdatei nicht
+                    spezifiziert wurde.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setFontSize($fsize)</methodname> und
+                    <methodname>getFontSize()</methodname> erlauben es die Schriftgröße in Pixel zu
+                    Spezifizieren die verwendet wird wenn das <acronym>CAPTCHA</acronym> erzeugt
+                    wird. Der Standardwert ist 24px.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setHeight($height)</methodname> und
+                    <methodname>getHeight()</methodname> erlauben es die Höhe in Pixel zu
+                    Spezifizieren die das erzeugte <acronym>CAPTCHA</acronym> Bild haben soll. Der
+                    Standardwert ist 50px.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setWidth($width)</methodname> und
+                    <methodname>getWidth()</methodname> erlauben es die Breite in Pixel zu
+                    Spezifizieren die das erzeugte <acronym>CAPTCHA</acronym> Bild haben soll. Der
+                    Standardwert ist 200px.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setImgDir($imgDir)</methodname> und
+                    <methodname>getImgDir()</methodname> erlauben es das Verzeichnis für das
+                    Speicher der <acronym>CAPTCHA</acronym> Bilder zu spezifizieren. Der
+                    Standardwert ist "<filename>./images/captcha/</filename>", was relativ zum
+                    Bootstrapskript zu sehen ist.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setImgUrl($imgUrl)</methodname> und
+                    <methodname>getImgUrl()</methodname> erlauben es den Relativen Pfad zum
+                    <acronym>CAPTCHA</acronym> Bild für die Verwendung im <acronym>HTML</acronym>
+                    Markup zu spezifizieren. Der Standardwert ist
+                    "<filename>/images/captcha/</filename>".
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setSuffix($suffix)</methodname> und
+                    <methodname>getSuffix()</methodname> erlauben es die Endung des Dateinamens für
+                    das <acronym>CAPTCHA</acronym> Bild zu spezifizieren. Der Standardwert ist
+                    "<filename>.png</filename>". Beachte: Das Ändern dieses Wertes wird den Typ des
+                    erzeugten Bildes nicht ändern.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setDotNoiseLevel($level)</methodname> und
+                    <methodname>getDotNoiseLevel()</methodname> erlauben es zusammen mit
+                    <methodname>setLineNoiseLevel($level)</methodname> und
+                    <methodname>getLineNoiseLevel()</methodname> zu kontrollieren wieviel
+                    "Rauschen" in der Form von zufälligen Punkten und Linien im Bild enthalten sein
+                    sollen. Jede Einheit von <varname>$level</varname> erzeugt einen zufälligen
+                    Punkt oder eine Linie. Der Standard ist 100 Punkte und 5 Linien. Das Rauschen
+                    wird zweimal hinzugefügt - vor und nach der Umwandlung der Verzerrung des
+                    Bildes.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Alle der obigen Optionen können an den Konstruktor übergeben werden indem einfach der
+            Präfix der 'set' Methode entfernt wird und der Anfangsbuchstabe kleingeschrieben wird:
+            "suffix", "height", "imgUrl", usw.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.captcha.adapters.recaptcha">
+        <title>Zend_Captcha_ReCaptcha</title>
+
+        <para>
+            Der <classname>Zend_Captcha_ReCaptcha</classname> Adapter verwendet
+            <link linkend="zend.service.recaptcha">Zend_Service_ReCaptcha</link> um
+            <acronym>CAPTCHA</acronym>s zu erzeugen und zu prüfen. Es bietet die folgenden Methoden
+            an:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <methodname>setPrivKey($key)</methodname> und
+                    <methodname>getPrivKey()</methodname> erlauben es den privaten Schlüssel zu
+                    spezifizieren der für den ReCaptcha Service verwendet werden soll. Er muß während
+                    der Erstellung spezifiziert werden, auch wenn er jederzeit überschrieben werden
+                    kann.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setPubKey($key)</methodname> und
+                    <methodname>getPubKey()</methodname> erlauben es den öffentlichen Schlüssel zu
+                    spezifizieren der mit dem ReCaptcha Service verwendet werden soll. Er muß während
+                    der Erstellung spezifiziert werden, auch wenn er jederzeit überschrieben werden
+                    kann.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setService(Zend_Service_ReCaptcha $service)</methodname> und
+                    <methodname>getService()</methodname> erlauben es das ReCaptcha Serviceobjekt zu
+                    setzen und erhalten.
+                </para>
+            </listitem>
+        </itemizedlist>
+    </sect2>
 </sect1>

+ 22 - 42
documentation/manual/de/module_specs/Zend_Captcha-Operation.xml

@@ -2,17 +2,14 @@
 <!-- EN-Revision: 20765 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.captcha.operation">
-	<title>Captcha Anwendung</title>
+    <title>Captcha Anwendung</title>
 
-	<para>
-		Alle
-		<acronym>CAPTCHA</acronym>
-		Adapter implementieren
-		<classname>Zend_Captcha_Adapter</classname>
-		, welches wie folgt aussieht:
-	</para>
+    <para>
+        Alle <acronym>CAPTCHA</acronym> Adapter implementieren
+        <classname>Zend_Captcha_Adapter</classname>, welches wie folgt aussieht:
+    </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 interface Zend_Captcha_Adapter extends Zend_Validate_Interface
 {
     public function generate();
@@ -34,42 +31,25 @@ interface Zend_Captcha_Adapter extends Zend_Validate_Interface
 }
 ]]></programlisting>
 
-	<para>
-		Die benannten Getter- und Settermethoden werden verwenden um den
-		<acronym>CAPTCHA</acronym>
-		Identifikator zu spezifizieren und zu empfangen.
-		<methodname>getDecorator()</methodname>
-		kann verwendet werden um einen
-		<classname>Zend_Form</classname>
-		Dekorator entweder durch
-		seinen Namen zu Spezifizieren oder indem ein aktuelles Dekoratorobjekt
-		zurückgegeben wird.
-		Der interessantesten Methoden sind aber
-		<methodname>generate()</methodname>
-		und
-		<methodname>render()</methodname>
-		.
-		<methodname>generate()</methodname>
-		wird verwendet um
-		das
-		<acronym>CAPTCHA</acronym>
-		Token zu erstellen. Dieser Prozess speichert das Token
-		typischerweise in der Session damit es in nachfolgenden Anfragen verglichen werden
-		kann.
-		<methodname>render()</methodname>
-		wird verwendet um die Informationen die das
-		<acronym>CAPTCHA</acronym>
-		repräsentieren darzustellen - ob es ein Bild ist, ein Figlet,
-		ein logisches Problem, oder andere
-		<acronym>CAPTCHA</acronym>
-		.
-	</para>
+    <para>
+        Die benannten Getter- und Settermethoden werden verwenden um den <acronym>CAPTCHA</acronym>
+        Identifikator zu spezifizieren und zu empfangen. <methodname>getDecorator()</methodname>
+        kann verwendet werden um einen <classname>Zend_Form</classname> Dekorator entweder durch
+        seinen Namen zu Spezifizieren oder indem ein aktuelles Dekoratorobjekt zurückgegeben wird.
+        Der interessantesten Methoden sind aber <methodname>generate()</methodname> und
+        <methodname>render()</methodname>. <methodname>generate()</methodname> wird verwendet um
+        das <acronym>CAPTCHA</acronym> Token zu erstellen. Dieser Prozess speichert das Token
+        typischerweise in der Session damit es in nachfolgenden Anfragen verglichen werden kann.
+        <methodname>render()</methodname> wird verwendet um die Informationen die das
+        <acronym>CAPTCHA</acronym> repräsentieren darzustellen - ob es ein Bild ist, ein Figlet,
+        ein logisches Problem, oder andere <acronym>CAPTCHA</acronym>.
+    </para>
 
-	<para>
-		Ein typischer Verwendungsfall könnte wie folgt aussehen:
+    <para>
+        Ein typischer Verwendungsfall könnte wie folgt aussehen:
     </para>
 
-	<programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 // Eine Instanz von Zend_View erstellen
 $view = new Zend_View();
 

+ 19 - 29
documentation/manual/de/module_specs/Zend_Captcha.xml

@@ -2,35 +2,25 @@
 <!-- EN-Revision: 15681 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.captcha.introduction">
-	<title>Einführung</title>
+    <title>Einführung</title>
 
-	<para>
-		<ulink url="http://en.wikipedia.org/wiki/Captcha">CAPTCHA</ulink>
-		steht für
-		"Completely Automated Public Turing test to tell Computers and Humans Apart;" es
-		wird als
-		Challenge-Response verwendet um sicherzustellen dass das Individuum das Informationen
-		sendet
-		ein Mensch ist und kein automatischer Prozess. Typischerweise wird ein
-		Captcha bei der
-		Übertragung von Formularen verwendet in denen keine authentifizierten Benutzer
-		notwendig
-		sind, aber in denen Spam Übertragungen vermieden werden sollen.
-	</para>
+    <para>
+        <ulink url="http://en.wikipedia.org/wiki/Captcha">CAPTCHA</ulink> steht für
+        "Completely Automated Public Turing test to tell Computers and Humans Apart;" es wird als
+        Challenge-Response verwendet um sicherzustellen dass das Individuum das Informationen sendet
+        ein Mensch ist und kein automatischer Prozess. Typischerweise wird ein Captcha bei der
+        Übertragung von Formularen verwendet in denen keine authentifizierten Benutzer notwendig
+        sind, aber in denen Spam Übertragungen vermieden werden sollen.
+    </para>
 
-	<para>
-		Captchas können eine Vielzahl an Formen annehmen, inklusive der Frage
-		nach logischen
-		Antworten, dem Angeben von verzerrten Schriften, der Darstellung von mehreren
-		Bildern und
-		der Frage wie sich diese zueinander verhalten.
-		<classname>Zend_Captcha</classname>
-		zielt
-		darauf ab eine Vielzahl von Backends anzubieten die entweder alleinstehend
-		verwendet werden
-		können, oder in Verbindung mit
-		<classname>Zend_Form</classname>
-		.
-	</para>
+    <para>
+        Captchas können eine Vielzahl an Formen annehmen, inklusive der Frage nach logischen
+        Antworten, dem Angeben von verzerrten Schriften, der Darstellung von mehreren Bildern und
+        der Frage wie sich diese zueinander verhalten. <classname>Zend_Captcha</classname> zielt
+        darauf ab eine Vielzahl von Backends anzubieten die entweder alleinstehend verwendet werden
+        können, oder in Verbindung mit <classname>Zend_Form</classname>.
+    </para>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 89 - 115
documentation/manual/de/module_specs/Zend_CodeGenerator-Examples.xml

@@ -2,17 +2,16 @@
 <!-- EN-Revision: 20765 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.codegenerator.examples">
-	<title>Zend_CodeGenerator Beispiele</title>
+    <title>Zend_CodeGenerator Beispiele</title>
 
-	<example id="zend.codegenerator.examples.class">
-		<title>Erzeugung von PHP Klassen</title>
+    <example id="zend.codegenerator.examples.class">
+        <title>Erzeugung von PHP Klassen</title>
 
-		<para>
-			Das folgende Beispiel erzeugt eine leere Klasse mit einem Klassen-level
-			DocBlock.
+        <para>
+            Das folgende Beispiel erzeugt eine leere Klasse mit einem Klassen-level DocBlock.
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $foo      = new Zend_CodeGenerator_Php_Class();
 $docblock = new Zend_CodeGenerator_Php_Docblock(array(
     'shortDescription' => 'Beispiel einer erzeugten Klasse',
@@ -34,11 +33,11 @@ $foo->setName('Foo')
 echo $foo->generate();
 ]]></programlisting>
 
-		<para>
-			Der obige Code führt zu dem folgenden:
+        <para>
+            Der obige Code führt zu dem folgenden:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 /**
  * Beispiel einer erzeugten Klasse
  *
@@ -53,18 +52,17 @@ class Foo
 
 }
 ]]></programlisting>
-	</example>
+    </example>
 
-	<example id="zend.codegenerator.examples.class-properties">
-		<title>Erzeugung von PHP Klassen mit Klassen-Eigenschaften</title>
+    <example id="zend.codegenerator.examples.class-properties">
+        <title>Erzeugung von PHP Klassen mit Klassen-Eigenschaften</title>
 
-		<para>
-			Aufbauend auf dem vorherigen Beispiel, fügen wir jetzt Eigenschaften in unsere
-			erzeugte
-			Klasse ein.
+        <para>
+            Aufbauend auf dem vorherigen Beispiel, fügen wir jetzt Eigenschaften in unsere erzeugte
+            Klasse ein.
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $foo      = new Zend_CodeGenerator_Php_Class();
 $docblock = new Zend_CodeGenerator_Php_Docblock(array(
     'shortDescription' => 'Beispiel einer erzeugten Klasse',
@@ -103,11 +101,11 @@ $foo->setName('Foo')
 echo $foo->generate();
 ]]></programlisting>
 
-		<para>
-			Das obige führt zu der folgenden Klassen-Definition:
+        <para>
+            Das obige führt zu der folgenden Klassen-Definition:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 /**
  * Beispiel einer erzeugten Klasse
  *
@@ -128,22 +126,18 @@ class Foo
 
 }
 ]]></programlisting>
-	</example>
-
-	<example id="zend.codegenerator.examples.class-methods">
-		<title>Erzeugung von PHP Klassen mit Klassen-Methoden</title>
-
-		<para>
-			<classname>Zend_CodeGenerator_Php_Class</classname>
-			erlaubt es Methoden mit optionalem
-			Inhalt zur Klasse hinzuzufügen. Methoden können entweder als Array oder als
-			konkrete
-			Instanzen von
-			<classname>Zend_CodeGenerator_Php_Method</classname>
-			hinzugefügt werden.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    </example>
+
+    <example id="zend.codegenerator.examples.class-methods">
+        <title>Erzeugung von PHP Klassen mit Klassen-Methoden</title>
+
+        <para>
+            <classname>Zend_CodeGenerator_Php_Class</classname> erlaubt es Methoden mit optionalem
+            Inhalt zur Klasse hinzuzufügen. Methoden können entweder als Array oder als konkrete
+            Instanzen von <classname>Zend_CodeGenerator_Php_Method</classname> hinzugefügt werden.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $foo      = new Zend_CodeGenerator_Php_Class();
 $docblock = new Zend_CodeGenerator_Php_Docblock(array(
     'shortDescription' => 'Beispiel einer erzeugten Klasse',
@@ -218,11 +212,11 @@ $foo->setName('Foo')
 echo $foo->generate();
 ]]></programlisting>
 
-		<para>
-			Das obige erzeugt die folgende Ausgabe:
+        <para>
+            Das obige erzeugt die folgende Ausgabe:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 /**
  * Beispiel einer erzeugten Klasse
  *
@@ -264,33 +258,25 @@ class Foo
 
 }
 ]]></programlisting>
-	</example>
-
-	<example id="zend.codegenerator.examples.file">
-		<title>Erzeugung von PHP Dateien</title>
-
-		<para>
-			<classname>Zend_CodeGenerator_Php_File</classname>
-			kann verwendet werden um den Inhalt
-			einer
-			<acronym>PHP</acronym>
-			Datei zu erzeugen. Man kann Klassen inkludieren als auch
-			eigene Inhalte. Wenn Klassen angegängt werden sollte man entweder eine
-			konkrete Instanz
-			von
-			<classname>Zend_CodeGenerator_Php_Class</classname>
-			oder ein Array das die Klasse
-			definiert anhängen.
-		</para>
-
-		<para>
-			Das folgende Beispiel nimmt an das wir
-			<varname>$foo</varname>
-			mit einer der
-			Klassen-Definitionen der vorherigen Beispiele definiert haben.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    </example>
+
+    <example id="zend.codegenerator.examples.file">
+        <title>Erzeugung von PHP Dateien</title>
+
+        <para>
+            <classname>Zend_CodeGenerator_Php_File</classname> kann verwendet werden um den Inhalt
+            einer <acronym>PHP</acronym> Datei zu erzeugen. Man kann Klassen inkludieren als auch
+            eigene Inhalte. Wenn Klassen angegängt werden sollte man entweder eine konkrete Instanz
+            von <classname>Zend_CodeGenerator_Php_Class</classname> oder ein Array das die Klasse
+            definiert anhängen.
+        </para>
+
+        <para>
+            Das folgende Beispiel nimmt an das wir <varname>$foo</varname> mit einer der
+            Klassen-Definitionen der vorherigen Beispiele definiert haben.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $file = new Zend_CodeGenerator_Php_File(array(
     'classes'  => array($foo);
     'docblock' => new Zend_CodeGenerator_Php_Docblock(array(
@@ -306,25 +292,22 @@ $file = new Zend_CodeGenerator_Php_File(array(
 ));
 ]]></programlisting>
 
-		<para>
-			Der Aufruf von
-			<methodname>generate()</methodname>
-			erzeugt den Code -- schreibt Ihn
-			aber nicht in die Datei. Man muß den Inhalt holen und Ihn selbst in eine
-			Datei
-			schreiben. Als Beispiel:
-		</para>
+        <para>
+            Der Aufruf von <methodname>generate()</methodname> erzeugt den Code -- schreibt Ihn
+            aber nicht in die Datei. Man muß den Inhalt holen und Ihn selbst in eine Datei
+            schreiben. Als Beispiel:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $code = $file->generate();
 file_put_contents('Foo.php', $code);
 ]]></programlisting>
 
-		<para>
-			Das obige erzeugt die folgende Datei:
+        <para>
+            Das obige erzeugt die folgende Datei:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 <?php
 /**
  * Foo Klassen Datei
@@ -375,46 +358,37 @@ class Foo
 
 define('APPLICATION_ENV', 'testing');
 ]]></programlisting>
-	</example>
-
-	<example id="zend.codegenerator.examples.reflection-file">
-		<title>Sähen der Code Erzeugung einer PHP Datei über Reflection</title>
-
-		<para>
-			Man kann
-			<acronym>PHP</acronym>
-			Code zu einer existierenden
-			<acronym>PHP</acronym>
-			Datei hinzufügen indem der Code Generator verwendet wird. Um das
-			Durchzuführen muß man
-			auf diesem zuerst Reflection ausführen. Die statische Methode
-			<methodname>fromReflectedFileName()</methodname>
-			erlaubt es das zu tun.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    </example>
+
+    <example id="zend.codegenerator.examples.reflection-file">
+        <title>Sähen der Code Erzeugung einer PHP Datei über Reflection</title>
+
+        <para>
+            Man kann <acronym>PHP</acronym> Code zu einer existierenden <acronym>PHP</acronym>
+            Datei hinzufügen indem der Code Generator verwendet wird. Um das Durchzuführen muß man
+            auf diesem zuerst Reflection ausführen. Die statische Methode
+            <methodname>fromReflectedFileName()</methodname> erlaubt es das zu tun.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $generator = Zend_CodeGenerator_Php_File::fromReflectedFileName($path);
 $body = $generator->getBody();
 $body .= "\n\$foo->bar();";
 file_put_contents($path, $generator->generate());
 ]]></programlisting>
-	</example>
-
-	<example id="zend.codegenerator.examples.reflection-class">
-		<title>Sähen der Erzeugung einer PHP Klasse über Reflection</title>
-
-		<para>
-			Man kann Code zu einer bestehenden Klasse hinzufügen. Um das
-			Durchzuführen muß die
-			statische
-			<methodname>fromReflection()</methodname>
-			Methode verwendet werden um die
-			Klasse in ein Generator Objekt zu mappen. Von dort, kann man zusätzliche
-			Eigenschaften
-			oder Methoden hinzufügen und die Klasse neu erstellen.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    </example>
+
+    <example id="zend.codegenerator.examples.reflection-class">
+        <title>Sähen der Erzeugung einer PHP Klasse über Reflection</title>
+
+        <para>
+            Man kann Code zu einer bestehenden Klasse hinzufügen. Um das Durchzuführen muß die
+            statische <methodname>fromReflection()</methodname> Methode verwendet werden um die
+            Klasse in ein Generator Objekt zu mappen. Von dort, kann man zusätzliche Eigenschaften
+            oder Methoden hinzufügen und die Klasse neu erstellen.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $generator = Zend_CodeGenerator_Php_Class::fromReflection(
     new Zend_Reflection_Class($class)
 );
@@ -439,5 +413,5 @@ $generator->setMethod(array(
 ));
 $code = $generator->generate();
 ]]></programlisting>
-	</example>
+    </example>
 </sect1>

+ 44 - 61
documentation/manual/de/module_specs/Zend_CodeGenerator-Introduction.xml

@@ -2,36 +2,28 @@
 <!-- EN-Revision: 15998 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.codegenerator.introduction">
-	<title>Einführung</title>
-
-	<para>
-		<classname>Zend_CodeGenerator</classname>
-		bietet die Möglichkeit jeglichen Code zu erstellen
-		indem ein Objekt Orientiertes Interface verwendet wird, um sowohl neuen
-		Code zu erstellen
-		als auch bestehenden Code upzudaten. Wärend die aktuelle Implementation
-		darin limitiert ist
-		<acronym>PHP</acronym>
-		Code zu erstellen, kann die Basisklasse einfach erweitert werden um
-		Code Erzeugung für andere Zwecke zu bieten: JavaScript,
-		Konfigurationsdateien, Apache
-		VHosts, usw.
-	</para>
-
-	<sect2 id="zend.codegenerator.introduction.theory">
-		<title>Theorie der Anwendung</title>
-
-		<para>
-			Der typischste Fall ist die Instanzierung einer Code Erzeugungs
-			Klasse und entweder der
-			Übergabe der entsprechenden Konfiguration oder der Konfiguration nach dessen
-			Erstellung. Um Code zu erstellen, muß man einfach das Objekt
-			ausgeben, oder dessen
-			<methodname>generate()</methodname>
-			Methode aufrufen.
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    <title>Einführung</title>
+
+    <para>
+        <classname>Zend_CodeGenerator</classname> bietet die Möglichkeit jeglichen Code zu erstellen
+        indem ein Objekt Orientiertes Interface verwendet wird, um sowohl neuen Code zu erstellen
+        als auch bestehenden Code upzudaten. Wärend die aktuelle Implementation darin limitiert ist
+        <acronym>PHP</acronym> Code zu erstellen, kann die Basisklasse einfach erweitert werden um
+        Code Erzeugung für andere Zwecke zu bieten: JavaScript, Konfigurationsdateien, Apache
+        VHosts, usw.
+    </para>
+
+    <sect2 id="zend.codegenerator.introduction.theory">
+        <title>Theorie der Anwendung</title>
+
+        <para>
+            Der typischste Fall ist die Instanzierung einer Code Erzeugungs Klasse und entweder der
+            Übergabe der entsprechenden Konfiguration oder der Konfiguration nach dessen
+            Erstellung. Um Code zu erstellen, muß man einfach das Objekt ausgeben, oder dessen
+            <methodname>generate()</methodname> Methode aufrufen.
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Konfiguration an den Construktor übergeben:
 $file = new Zend_CodeGenerator_Php_File(array(
     'classes' => array(
@@ -66,11 +58,11 @@ echo $file;
 file_put_contents('World.php', $file->generate());
 ]]></programlisting>
 
-		<para>
-			Beide der obigen Beispiele werden das gleiche Ergebnis darstellen:
+        <para>
+            Beide der obigen Beispiele werden das gleiche Ergebnis darstellen:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 <?php
 
 class World
@@ -84,30 +76,21 @@ class World
 }
 ]]></programlisting>
 
-		<para>
-			Ein anderer üblicher Anwendungsfall ist die Aktualisierung von
-			bestehendem Code -- zum
-			Beispiel eine Methode zu einer Klasse hinzufügen. In so einem Fall, muß man
-			zuerst
-			den bestehenden Code betrachten, indem Reflection verwendet wird, und
-			dann die neue
-			Methode hinzufügen.
-			<classname>Zend_CodeGenerator</classname>
-			macht das sehr trivial,
-			indem
-			<link linkend="zend.reflection">Zend_Reflection</link>
-			verwendet wird.
-		</para>
-
-		<para>
-			Als Beispiel nehmen wir an dass das obige in der Datei "
-			<filename>World.php</filename>
-			"
-			abgespeichert wurde, und wir diese bereits inkludiert haben. Wir könnten dann das
-			folgende tun:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Ein anderer üblicher Anwendungsfall ist die Aktualisierung von bestehendem Code -- zum
+            Beispiel eine Methode zu einer Klasse hinzufügen. In so einem Fall, muß man zuerst
+            den bestehenden Code betrachten, indem Reflection verwendet wird, und dann die neue
+            Methode hinzufügen. <classname>Zend_CodeGenerator</classname> macht das sehr trivial,
+            indem <link linkend="zend.reflection">Zend_Reflection</link> verwendet wird.
+        </para>
+
+        <para>
+            Als Beispiel nehmen wir an dass das obige in der Datei "<filename>World.php</filename>"
+            abgespeichert wurde, und wir diese bereits inkludiert haben. Wir könnten dann das
+            folgende tun:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $class = Zend_CodeGenerator_Php_Class::fromReflection(
     new Zend_Reflection_Class('World')
 );
@@ -127,11 +110,11 @@ echo $file;
 file_put_contents('World.php', $file->generate());
 ]]></programlisting>
 
-		<para>
-			Die resultierende Klasse würde wie folgt aussehen:
+        <para>
+            Die resultierende Klasse würde wie folgt aussehen:
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 <?php
 
 class World
@@ -149,5 +132,5 @@ class World
 
 }
 ]]></programlisting>
-	</sect2>
+    </sect2>
 </sect1>

+ 318 - 436
documentation/manual/de/module_specs/Zend_CodeGenerator-Reference.xml

@@ -2,24 +2,21 @@
 <!-- EN-Revision: 20765 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.codegenerator.reference">
-	<title>Zend_CodeGenerator Referenz</title>
+    <title>Zend_CodeGenerator Referenz</title>
 
-	<sect2 id="zend.codegenerator.reference.abstracts">
-		<title>Abstrakte Klassen und Interfaces</title>
+    <sect2 id="zend.codegenerator.reference.abstracts">
+        <title>Abstrakte Klassen und Interfaces</title>
 
-		<sect3 id="zend.codegenerator.reference.abstracts.abstract">
-			<title>Zend_CodeGenerator_Abstract</title>
+        <sect3 id="zend.codegenerator.reference.abstracts.abstract">
+            <title>Zend_CodeGenerator_Abstract</title>
 
-			<para>
-				Die Basisklasse von der alle CodeGenerator Klassen abgeleitet sind
-				und die
-				minimal notwendige Funktionalität anbietet. Dessen
-				<acronym>API</acronym>
-				ist wie
-				folgt:
-			</para>
+            <para>
+                Die Basisklasse von der alle CodeGenerator Klassen abgeleitet sind und die
+                minimal notwendige Funktionalität anbietet. Dessen <acronym>API</acronym> ist wie
+                folgt:
+            </para>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 abstract class Zend_CodeGenerator_Abstract
 {
     final public function __construct(Array $options = array())
@@ -33,63 +30,45 @@ abstract class Zend_CodeGenerator_Abstract
 }
 ]]></programlisting>
 
-			<para>
-				Der Constructor ruft zuerst
-				<methodname>_init()</methodname>
-				auf (welches für eine
-				konkrete erweiterte Klasse für die Implementation leer gelassen ist),
-				übergibt dann
-				den
-				<varname>$options</varname>
-				Parameter an
-				<methodname>setOptions()</methodname>
-				und ruft zuletzt
-				<methodname>_prepare()</methodname>
-				auf (welches auch von der
-				erweiternden Klasse implementiert werden muß).
-			</para>
-
-			<para>
-				Wie die meisten Klassen im Zend Framework, vergleicht
-				<methodname>setOptions()</methodname>
-				den Schlüssel einer Option mit den in der
-				Klasse existierenden Settern, und übergibt den Wert an die gefundene
-				Methode.
-			</para>
-
-			<para>
-				<methodname>__toString()</methodname>
-				ist als final markiert, und leitet auf
-				<methodname>generate()</methodname>
-				weiter.
-			</para>
-
-			<para>
-				<methodname>setSourceContent()</methodname>
-				und
-				<methodname>getSourceContent()</methodname>
-				sind dazu vergesehen entweder den
-				Standardinhalt für den zu erzeugenden Code zu setzen, oder um gesetzte Inhalte zu
-				ersetzen sobald alle Arbeiten der Erzeugung beendet wurden.
-			</para>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.abstracts.php-abstract">
-			<title>Zend_CodeGenerator_Php_Abstract</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Abstract</classname>
-				erweitert
-				<classname>Zend_CodeGenerator_Abstract</classname>
-				, und fügt einige Eigenschaften
-				hinzu für das Verfolgen ob Inhalte geändert wurden sowie der Anzahl an
-				Einrückungen
-				die vorhanden sein sollten bevor Inhalte erzeugt werden. Die
-				<acronym>API</acronym>
-				ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+            <para>
+                Der Constructor ruft zuerst <methodname>_init()</methodname> auf (welches für eine
+                konkrete erweiterte Klasse für die Implementation leer gelassen ist), übergibt dann
+                den <varname>$options</varname> Parameter an <methodname>setOptions()</methodname>
+                und ruft zuletzt <methodname>_prepare()</methodname> auf (welches auch von der
+                erweiternden Klasse implementiert werden muß).
+            </para>
+
+            <para>
+                Wie die meisten Klassen im Zend Framework, vergleicht
+                <methodname>setOptions()</methodname> den Schlüssel einer Option mit den in der
+                Klasse existierenden Settern, und übergibt den Wert an die gefundene Methode.
+            </para>
+
+            <para>
+                <methodname>__toString()</methodname> ist als final markiert, und leitet auf
+                <methodname>generate()</methodname> weiter.
+            </para>
+
+            <para>
+                <methodname>setSourceContent()</methodname> und
+                <methodname>getSourceContent()</methodname> sind dazu vergesehen entweder den
+                Standardinhalt für den zu erzeugenden Code zu setzen, oder um gesetzte Inhalte zu
+                ersetzen sobald alle Arbeiten der Erzeugung beendet wurden.
+            </para>
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.abstracts.php-abstract">
+            <title>Zend_CodeGenerator_Php_Abstract</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Abstract</classname> erweitert
+                <classname>Zend_CodeGenerator_Abstract</classname>, und fügt einige Eigenschaften
+                hinzu für das Verfolgen ob Inhalte geändert wurden sowie der Anzahl an Einrückungen
+                die vorhanden sein sollten bevor Inhalte erzeugt werden. Die <acronym>API</acronym>
+                ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 abstract class Zend_CodeGenerator_Php_Abstract
     extends Zend_CodeGenerator_Abstract
 {
@@ -99,24 +78,20 @@ abstract class Zend_CodeGenerator_Php_Abstract
     public function getIndentation()
 }
 ]]></programlisting>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.abstracts.php-member-abstract">
-			<title>Zend_CodeGenerator_Php_Member_Abstract</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Member_Abstract</classname>
-				ist eine Basisklasse
-				für die Erstellung von Klassen-Member -- Eigenschaften und Methoden --
-				und bietet
-				Zugriffs- und Änderungsmethoden für die Ausführung der Sichtbarkeit; ob ein
-				Member Abstrakt, Statisch, oder Final ist; und der Name des Members.
-				Die
-				<acronym>API</acronym>
-				ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.abstracts.php-member-abstract">
+            <title>Zend_CodeGenerator_Php_Member_Abstract</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Member_Abstract</classname> ist eine Basisklasse
+                für die Erstellung von Klassen-Member -- Eigenschaften und Methoden -- und bietet
+                Zugriffs- und Änderungsmethoden für die Ausführung der Sichtbarkeit; ob ein
+                Member Abstrakt, Statisch, oder Final ist; und der Name des Members. Die
+                <acronym>API</acronym> ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 abstract class Zend_CodeGenerator_Php_Member_Abstract
     extends Zend_CodeGenerator_Php_Abstract
 {
@@ -130,32 +105,27 @@ abstract class Zend_CodeGenerator_Php_Member_Abstract
     public function getName()
 }
 ]]></programlisting>
-		</sect3>
-	</sect2>
-
-	<sect2 id="zend.codegenerator.reference.concrete">
-		<title>Konkrete CodeGenerator Klassen</title>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-body">
-			<title>Zend_CodeGenerator_Php_Body</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Body</classname>
-				ist dazu gedacht generellen
-				prozeduralen Code in einer Datei einzufügen. Als solches kann man einfach den
-				Inhalt
-				für das Objekt setzen, und es wird den Inhalt zurückgeben wenn man
-				<methodname>generate()</methodname>
-				aufruft.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				der Klasse ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+    </sect2>
+
+    <sect2 id="zend.codegenerator.reference.concrete">
+        <title>Konkrete CodeGenerator Klassen</title>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-body">
+            <title>Zend_CodeGenerator_Php_Body</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Body</classname> ist dazu gedacht generellen
+                prozeduralen Code in einer Datei einzufügen. Als solches kann man einfach den Inhalt
+                für das Objekt setzen, und es wird den Inhalt zurückgeben wenn man
+                <methodname>generate()</methodname> aufruft.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> der Klasse ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Body extends Zend_CodeGenerator_Php_Abstract
 {
     public function setContent($content)
@@ -163,34 +133,26 @@ class Zend_CodeGenerator_Php_Body extends Zend_CodeGenerator_Php_Abstract
     public function generate()
 }
 ]]></programlisting>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-class">
-			<title>Zend_CodeGenerator_Php_Class</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Class</classname>
-				ist für die Erstellung von
-				<acronym>PHP</acronym>
-				Klassen gedacht. Die Basisfunktionalität ist nur die
-				Erstellung der
-				<acronym>PHP</acronym>
-				Klasse selbst, sowie optional den
-				betreffenden
-				<acronym>PHP</acronym>
-				DocBlock. Klassen können von anderen Klassen
-				abgeleitet sein, oder diese Implementieren, und können als Abstrakt markiert
-				sein. Bei Verwendung von anderen CodeGenerator Klassen kann man auch
-				Klassenkonstanten, Eigenschaften und Methoden hinzufügen.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-class">
+            <title>Zend_CodeGenerator_Php_Class</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Class</classname> ist für die Erstellung von
+                <acronym>PHP</acronym> Klassen gedacht. Die Basisfunktionalität ist nur die
+                Erstellung der <acronym>PHP</acronym> Klasse selbst, sowie optional den
+                betreffenden <acronym>PHP</acronym> DocBlock. Klassen können von anderen Klassen
+                abgeleitet sein, oder diese Implementieren, und können als Abstrakt markiert
+                sein. Bei Verwendung von anderen CodeGenerator Klassen kann man auch
+                Klassenkonstanten, Eigenschaften und Methoden hinzufügen.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Class extends Zend_CodeGenerator_Php_Abstract
 {
     public static function fromReflection(
@@ -220,64 +182,45 @@ class Zend_CodeGenerator_Php_Class extends Zend_CodeGenerator_Php_Abstract
 }
 ]]></programlisting>
 
-			<para>
-				Die
-				<methodname>setProperty()</methodname>
-				Methode akzeptiert ein Array von
-				Informationen, die verwendet werden können um eine Instanz von
-				<classname>Zend_CodeGenerator_Php_Property</classname>
-				zu erstellen -- oder einfach
-				eine Instanz von
-				<classname>Zend_CodeGenerator_Php_Property</classname>
-				selbst.
-				Genauso akzeptiert
-				<methodname>setMethod()</methodname>
-				entweder ein Array von
-				Information für die Erstellung einer
-				<classname>Zend_CodeGenerator_Php_Method</classname>
-				Instanz oder eine konkrete
-				Instanz dieser Klasse.
-			</para>
-
-			<para>
-				Beachte das
-				<methodname>setDocBlock()</methodname>
-				eine Instanz von
-				<classname>Zend_CodeGenerator_Php_DocBlock</classname>
-				erwartet.
-			</para>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-docblock">
-			<title>Zend_CodeGenerator_Php_Docblock</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Docblock</classname>
-				kann verwendet werden um
-				<acronym>PHP</acronym>
-				DocBlocks zu erstellen, inklusive aller standardmäßigen
-				DocBlock Features: Kurz- und Langbeschreibung sowie zusätzliche Tags.
-			</para>
-
-			<para>
-				Zusätzliche Tags können durch Verwendung der
-				<methodname>setTag()</methodname>
-				und
-				<methodname>setTags()</methodname>
-				Methoden gesetzt werden; diese nehmen entweder
-				ein Array an dass das Tag beschreibt das an den
-				<classname>Zend_CodeGenerator_Php_Docblock_Tag</classname>
-				Contructor übergeben
-				wird, oder eine Instanz dieser Klasse selbst.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+            <para>
+                Die <methodname>setProperty()</methodname> Methode akzeptiert ein Array von
+                Informationen, die verwendet werden können um eine Instanz von
+                <classname>Zend_CodeGenerator_Php_Property</classname> zu erstellen -- oder einfach
+                eine Instanz von <classname>Zend_CodeGenerator_Php_Property</classname> selbst.
+                Genauso akzeptiert <methodname>setMethod()</methodname> entweder ein Array von
+                Information für die Erstellung einer
+                <classname>Zend_CodeGenerator_Php_Method</classname> Instanz oder eine konkrete
+                Instanz dieser Klasse.
+            </para>
+
+            <para>
+                Beachte das <methodname>setDocBlock()</methodname> eine Instanz von
+                <classname>Zend_CodeGenerator_Php_DocBlock</classname> erwartet.
+            </para>
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-docblock">
+            <title>Zend_CodeGenerator_Php_Docblock</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Docblock</classname> kann verwendet werden um
+                <acronym>PHP</acronym> DocBlocks zu erstellen, inklusive aller standardmäßigen
+                DocBlock Features: Kurz- und Langbeschreibung sowie zusätzliche Tags.
+            </para>
+
+            <para>
+                Zusätzliche Tags können durch Verwendung der <methodname>setTag()</methodname> und
+                <methodname>setTags()</methodname> Methoden gesetzt werden; diese nehmen entweder
+                ein Array an dass das Tag beschreibt das an den
+                <classname>Zend_CodeGenerator_Php_Docblock_Tag</classname> Contructor übergeben
+                wird, oder eine Instanz dieser Klasse selbst.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Docblock extends Zend_CodeGenerator_Php_Abstract
 {
     public static function fromReflection(
@@ -293,29 +236,23 @@ class Zend_CodeGenerator_Php_Docblock extends Zend_CodeGenerator_Php_Abstract
     public function generate()
 }
 ]]></programlisting>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag">
-			<title>Zend_CodeGenerator_Php_Docblock_Tag</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Docblock_Tag</classname>
-				ist für die Erstellung
-				von eigenen Tags, zum Einfügen in
-				<acronym>PHP</acronym>
-				DocBlocks, gedacht. Von
-				Tags wird erwartet das Sie einen Namen enthalten (Der Teil der
-				unmittelbar dem '@'
-				Symbol folgt) und eine Beschreibung (alles das dem Tag Namen folgt).
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				der Klasse ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag">
+            <title>Zend_CodeGenerator_Php_Docblock_Tag</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Docblock_Tag</classname> ist für die Erstellung
+                von eigenen Tags, zum Einfügen in <acronym>PHP</acronym> DocBlocks, gedacht. Von
+                Tags wird erwartet das Sie einen Namen enthalten (Der Teil der unmittelbar dem '@'
+                Symbol folgt) und eine Beschreibung (alles das dem Tag Namen folgt).
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> der Klasse ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Docblock_Tag
     extends Zend_CodeGenerator_Php_Abstract
 {
@@ -329,32 +266,25 @@ class Zend_CodeGenerator_Php_Docblock_Tag
     public function generate()
 }
 ]]></programlisting>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag-param">
-			<title>Zend_CodeGenerator_Php_DocBlock_Tag_Param</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_DocBlock_Tag_Param</classname>
-				ist eine spezielle
-				Version von
-				<classname>Zend_CodeGenerator_Php_DocBlock_Tag</classname>
-				, und
-				repräsentiert einen Parameter einer Methode. Das TagName ist hierbei bekannt
-				("param"), aber durch die Form des Tags, werden zusätzliche
-				Informationen benötigt
-				um Ihn zu erzeugen: den Namen des Parameter und den Datentyp den
-				dieser
-				repräsentiert.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				dieser Klasse ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag-param">
+            <title>Zend_CodeGenerator_Php_DocBlock_Tag_Param</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_DocBlock_Tag_Param</classname> ist eine spezielle
+                Version von <classname>Zend_CodeGenerator_Php_DocBlock_Tag</classname>, und
+                repräsentiert einen Parameter einer Methode. Das TagName ist hierbei bekannt
+                ("param"), aber durch die Form des Tags, werden zusätzliche Informationen benötigt
+                um Ihn zu erzeugen: den Namen des Parameter und den Datentyp den dieser
+                repräsentiert.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> dieser Klasse ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Docblock_Tag_Param
     extends Zend_CodeGenerator_Php_Docblock_Tag
 {
@@ -368,28 +298,23 @@ class Zend_CodeGenerator_Php_Docblock_Tag_Param
     public function generate()
 }
 ]]></programlisting>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag-return">
-			<title>Zend_CodeGenerator_Php_DocBlock_Tag_Return</title>
-
-			<para>
-				Wie die Variante des Param DocBlock Tags ist
-				<classname>Zend_CodeGenerator_Php_Docblock_Tab_Return</classname>
-				eine Variante
-				eines Tags für die Darstellung eines Rückgabewerts einer Methode. In
-				diesem Fall ist
-				der Name des Tags bekannt ("return"), aber es benötigt einen
-				Rückgabetyp.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				der Klasse ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag-return">
+            <title>Zend_CodeGenerator_Php_DocBlock_Tag_Return</title>
+
+            <para>
+                Wie die Variante des Param DocBlock Tags ist
+                <classname>Zend_CodeGenerator_Php_Docblock_Tab_Return</classname> eine Variante
+                eines Tags für die Darstellung eines Rückgabewerts einer Methode. In diesem Fall ist
+                der Name des Tags bekannt ("return"), aber es benötigt einen Rückgabetyp.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> der Klasse ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Docblock_Tag_Param
     extends Zend_CodeGenerator_Php_Docblock_Tag
 {
@@ -401,44 +326,32 @@ class Zend_CodeGenerator_Php_Docblock_Tag_Param
     public function generate()
 }
 ]]></programlisting>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-file">
-			<title>Zend_CodeGenerator_Php_File</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_File</classname>
-				wird verwendet um den kompletten
-				Inhalt einer Datei zu erstellen die
-				<acronym>PHP</acronym>
-				Code enthalten wird. Die
-				Datei kann Klassen oder eigenen
-				<acronym>PHP</acronym>
-				Code enthalten, und wenn
-				gewünscht einen Datei-Level Docblock.
-			</para>
-
-			<para>
-				Wenn der Datei Klassen hinzugefügt werden, muß man entweder ein
-				Array von
-				Informationen übergeben die an den Constructor von
-				<classname>Zend_CodeGenerator_Php_Class</classname>
-				übergeben werden, oder eine
-				Instanz dieser Klasse. Genau wie bei den DocBlocks, muß man Informationen
-				für den
-				Constructor von
-				<classname>Zend_CodeGenerator_Php_Docblock</classname>
-				übergeben die
-				verwendet werden, oder eine Instanz dieser Klasse.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				der Klasse ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-file">
+            <title>Zend_CodeGenerator_Php_File</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_File</classname> wird verwendet um den kompletten
+                Inhalt einer Datei zu erstellen die <acronym>PHP</acronym> Code enthalten wird. Die
+                Datei kann Klassen oder eigenen <acronym>PHP</acronym> Code enthalten, und wenn
+                gewünscht einen Datei-Level Docblock.
+            </para>
+
+            <para>
+                Wenn der Datei Klassen hinzugefügt werden, muß man entweder ein Array von
+                Informationen übergeben die an den Constructor von
+                <classname>Zend_CodeGenerator_Php_Class</classname> übergeben werden, oder eine
+                Instanz dieser Klasse. Genau wie bei den DocBlocks, muß man Informationen für den
+                Constructor von <classname>Zend_CodeGenerator_Php_Docblock</classname> übergeben die
+                verwendet werden, oder eine Instanz dieser Klasse.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> der Klasse ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_File extends Zend_CodeGenerator_Php_Abstract
 {
     public static function fromReflectedFilePath(
@@ -462,71 +375,55 @@ class Zend_CodeGenerator_Php_File extends Zend_CodeGenerator_Php_Abstract
     public function generate()
 }
 ]]></programlisting>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-member-container">
-			<title>Zend_CodeGenerator_Php_Member_Container</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Member_Container</classname>
-				wird intern von
-				<classname>Zend_CodeGenerator_Php_Class</classname>
-				verwendet um die Klassenmember
-				zu erheben -- Eigenschaften sowie Methoden. Diese werden durch den
-				Namen indiziert,
-				indem die konkrete Instanz des Members als Wert verwendet wird.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				der Klasse ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-member-container">
+            <title>Zend_CodeGenerator_Php_Member_Container</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Member_Container</classname> wird intern von
+                <classname>Zend_CodeGenerator_Php_Class</classname> verwendet um die Klassenmember
+                zu erheben -- Eigenschaften sowie Methoden. Diese werden durch den Namen indiziert,
+                indem die konkrete Instanz des Members als Wert verwendet wird.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> der Klasse ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Member_Container extends ArrayObject
 {
     public function __construct($type = self::TYPE_PROPERTY)
 }
 ]]></programlisting>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-method">
-			<title>Zend_CodeGenerator_Php_Method</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Method</classname>
-				beschreibt eine Klassenmethode,
-				und kann sowohl Code als auch den DocBlock für diese Methode erstellen.
-				Die
-				Sichtbarkeit und der Status als Statisch, Abstrakt, oder Final kann, über die
-				Eltern-Klasse,
-				<classname>Zend_CodeGenerator_Php_Member_Abstract</classname>
-				,
-				angegeben werden. Letztendlich können die Parameter und Rückgabewerte für die
-				Methode spezifiziert werden.
-			</para>
-
-			<para>
-				Parameter könnnen durch Verwendung von
-				<methodname>setParameter()</methodname>
-				oder
-				<methodname>setParameters()</methodname>
-				gesetzt werden. In jedem Fall, sollte der
-				Parameter entweder ein Array von Informationen sein die an den Constructor
-				von
-				<classname>Zend_CodeGenerator_Php_Parameter</classname>
-				übergeben werden, oder eine
-				Instanz dieser Klasse.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				der Klasse ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-method">
+            <title>Zend_CodeGenerator_Php_Method</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Method</classname> beschreibt eine Klassenmethode,
+                und kann sowohl Code als auch den DocBlock für diese Methode erstellen. Die
+                Sichtbarkeit und der Status als Statisch, Abstrakt, oder Final kann, über die
+                Eltern-Klasse, <classname>Zend_CodeGenerator_Php_Member_Abstract</classname>,
+                angegeben werden. Letztendlich können die Parameter und Rückgabewerte für die
+                Methode spezifiziert werden.
+            </para>
+
+            <para>
+                Parameter könnnen durch Verwendung von <methodname>setParameter()</methodname> oder
+                <methodname>setParameters()</methodname> gesetzt werden. In jedem Fall, sollte der
+                Parameter entweder ein Array von Informationen sein die an den Constructor von
+                <classname>Zend_CodeGenerator_Php_Parameter</classname> übergeben werden, oder eine
+                Instanz dieser Klasse.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> der Klasse ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Method
     extends Zend_CodeGenerator_Php_Member_Abstract
 {
@@ -544,28 +441,24 @@ class Zend_CodeGenerator_Php_Method
     public function generate()
 }
 ]]></programlisting>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-parameter">
-			<title>Zend_CodeGenerator_Php_Parameter</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Parameter</classname>
-				kann verwendet werden um
-				Methodenparameter zu spezifizieren. Jeder Parameter kann eine Position haben
-				(wenn nicht spezifiziert wird die Reihenfolge in der diese spezifiziert
-				werden
-				verwendet), einen Standardwert, und einen Datentyp; ein Parametername wird
-				benötigt.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				der Klasse ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-parameter">
+            <title>Zend_CodeGenerator_Php_Parameter</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Parameter</classname> kann verwendet werden um
+                Methodenparameter zu spezifizieren. Jeder Parameter kann eine Position haben
+                (wenn nicht spezifiziert wird die Reihenfolge in der diese spezifiziert werden
+                verwendet), einen Standardwert, und einen Datentyp; ein Parametername wird
+                benötigt.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> der Klasse ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Parameter extends Zend_CodeGenerator_Php_Abstract
 {
     public static function fromReflection(
@@ -585,17 +478,15 @@ class Zend_CodeGenerator_Php_Parameter extends Zend_CodeGenerator_Php_Abstract
 }
 ]]></programlisting>
 
-			<para>
-				Es gibt einige Probleme die auftreten können wenn man versucht
-				<constant>NULL</constant>
-				, boolsche Werte oder Arrays als Standardwerte zu setzen.
-				Hierfür kann das Wert-Halte-Objekt
-				<classname>Zend_CodeGenerator_Php_ParameterDefaultValue</classname>
-				verwendet
-				werden. Zum Beispiel:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+            <para>
+                Es gibt einige Probleme die auftreten können wenn man versucht
+                <constant>NULL</constant>, boolsche Werte oder Arrays als Standardwerte zu setzen.
+                Hierfür kann das Wert-Halte-Objekt
+                <classname>Zend_CodeGenerator_Php_ParameterDefaultValue</classname> verwendet
+                werden. Zum Beispiel:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 $parameter = new Zend_CodeGenerator_Php_Parameter();
 $parameter->setDefaultValue(
     new Zend_CodeGenerator_Php_Parameter_DefaultValue("null")
@@ -605,37 +496,28 @@ $parameter->setDefaultValue(
 );
 ]]></programlisting>
 
-			<para>
-				Intern konvertiert
-				<methodname>setDefaultValue()</methodname>
-				die Werte, welche in
-				<acronym>PHP</acronym>
-				nicht ausgedrückt werden können, in den Werte-Halter.
-			</para>
-		</sect3>
-
-		<sect3 id="zend.codegenerator.reference.concrete.php-property">
-			<title>Zend_CodeGenerator_Php_Property</title>
-
-			<para>
-				<classname>Zend_CodeGenerator_Php_Property</classname>
-				beschreibt die Eigenschaft
-				einer Klasse, welche entweder eine Konstante oder eine Variable sein
-				kann. In jedem
-				Fall, kann der Eigenschaft ein optionaler Standardwert assoziiert werden.
-				Zusätzlich kann die Sichtbarkeit von variablen Eigenschaften über
-				die Elternklasse
-				<classname>Zend_CodeGenerator_Php_Member_Abstract</classname>
-				gesetzt werden.
-			</para>
-
-			<para>
-				Die
-				<acronym>API</acronym>
-				der Klasse ist wie folgt:
-			</para>
-
-			<programlisting language="php"><![CDATA[
+            <para>
+                Intern konvertiert <methodname>setDefaultValue()</methodname> die Werte, welche in
+                <acronym>PHP</acronym> nicht ausgedrückt werden können, in den Werte-Halter.
+            </para>
+        </sect3>
+
+        <sect3 id="zend.codegenerator.reference.concrete.php-property">
+            <title>Zend_CodeGenerator_Php_Property</title>
+
+            <para>
+                <classname>Zend_CodeGenerator_Php_Property</classname> beschreibt die Eigenschaft
+                einer Klasse, welche entweder eine Konstante oder eine Variable sein kann. In jedem
+                Fall, kann der Eigenschaft ein optionaler Standardwert assoziiert werden.
+                Zusätzlich kann die Sichtbarkeit von variablen Eigenschaften über die Elternklasse
+                <classname>Zend_CodeGenerator_Php_Member_Abstract</classname> gesetzt werden.
+            </para>
+
+            <para>
+                Die <acronym>API</acronym> der Klasse ist wie folgt:
+            </para>
+
+            <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Property
     extends Zend_CodeGenerator_Php_Member_Abstract
 {
@@ -649,6 +531,6 @@ class Zend_CodeGenerator_Php_Property
     public function generate()
 }
 ]]></programlisting>
-		</sect3>
-	</sect2>
+        </sect3>
+    </sect2>
 </sect1>

+ 53 - 78
documentation/manual/de/module_specs/Zend_Config-Introduction.xml

@@ -2,53 +2,35 @@
 <!-- EN-Revision: 20765 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.config.introduction">
-	<title>Einleitung</title>
-
-	<para>
-		<classname>Zend_Config</classname>
-		wurde entworfen um den Zugriff auf und die Verwendung von
-		Konfigurations-Daten zu vereinfachen. Es stellt diese
-		Konfigurations-Daten innerhalb
-		der Applikation über eine verschachtelte Objekt-Struktur zur Verfügung.
-		Die
-		Konfigurations-Daten können aus verschiedenen Datenquellen gelesen werden,
-		die hierarchische Datenspeicherung unterstützen. Derzeit stellt
-		<classname>Zend_Config</classname>
-		mit
-		<link linkend="zend.config.adapters.ini">
-			<classname>Zend_Config_Ini</classname>
-		</link>
-		und
-		<link linkend="zend.config.adapters.xml">
-			<classname>Zend_Config_Xml</classname>
-		</link>
-		Adapter für das Einlesen von Daten aus Textfiles zur Verfügung.
-	</para>
-
-	<example id="zend.config.introduction.example.using">
-		<title>Zend-Config verwenden</title>
-
-		<para>
-			In der Regel geht man davon aus, dass Anwender eine der
-			Adapter-Klassen wie
-			<link linkend="zend.config.adapters.ini">
-				<classname>Zend_Config_Ini</classname>
-			</link>
-			oder
-			<link linkend="zend.config.adapters.xml">
-				<classname>Zend_Config_Xml</classname>
-			</link>
-			verwenden. Wenn die Konfigurations-Daten aber als
-			<acronym>PHP</acronym>
-			Array
-			vorliegen, können diese auch einfach an den
-			<classname>Zend_Config</classname>
-			Constructor übergeben werden, um dann über die objektorientierte
-			Schnittstelle auf sie
-			zugreifen zu können:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    <title>Einleitung</title>
+
+    <para>
+        <classname>Zend_Config</classname> wurde entworfen um den Zugriff auf und die Verwendung von
+        Konfigurations-Daten zu vereinfachen. Es stellt diese Konfigurations-Daten innerhalb
+        der Applikation über eine verschachtelte Objekt-Struktur zur Verfügung. Die
+        Konfigurations-Daten können aus verschiedenen Datenquellen gelesen werden,
+        die hierarchische Datenspeicherung unterstützen. Derzeit stellt
+        <classname>Zend_Config</classname> mit <link
+        linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link> und
+        <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>
+        Adapter für das Einlesen von Daten aus Textfiles zur Verfügung.
+    </para>
+
+    <example id="zend.config.introduction.example.using">
+        <title>Zend-Config verwenden</title>
+
+        <para>
+            In der Regel geht man davon aus, dass Anwender eine der Adapter-Klassen wie
+            <link linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link>
+            oder <link
+            linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>
+            verwenden. Wenn die Konfigurations-Daten aber als <acronym>PHP</acronym> Array
+            vorliegen, können diese auch einfach an den <classname>Zend_Config</classname>
+            Constructor übergeben werden, um dann über die objektorientierte Schnittstelle auf sie
+            zugreifen zu können:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Gegeben ist ein Array mit Konfigurations-Daten
 $configArray = array(
     'webhost'  => 'www.example.com',
@@ -77,40 +59,33 @@ $db = Zend_Db::factory($config->database->adapter,
 // Zend_Db factory weiß wie es zu interpretieren ist.
 $db = Zend_Db::factory($config->database);
 ]]></programlisting>
-	</example>
-
-	<para>
-		Wie das Beispiel oben zeigt, kann man über
-		<classname>Zend_Config</classname>
-		auf die
-		Konfigurations-Daten aus dem übergebenen Array so zugreifen, wie auf die Eigenschaften
-		einer verschachtelten Objekt-Struktur.
-	</para>
-
-	<para>
-		Zusätzlich zum objektorientierten Zugriff auf die Daten Werte hat
-		<classname>Zend_Config</classname>
-		<methodname>get()</methodname>
-		welches den unterstützten
-		Standardwert zurückgibt wenn das Daten Element nicht existiert. Zum Beispiel:
-	</para>
-
-	<programlisting language="php"><![CDATA[
+    </example>
+
+    <para>
+        Wie das Beispiel oben zeigt, kann man über <classname>Zend_Config</classname> auf die
+        Konfigurations-Daten aus dem übergebenen Array so zugreifen, wie auf die Eigenschaften
+        einer verschachtelten Objekt-Struktur.
+    </para>
+
+    <para>
+        Zusätzlich zum objektorientierten Zugriff auf die Daten Werte hat
+        <classname>Zend_Config</classname> <methodname>get()</methodname> welches den unterstützten
+        Standardwert zurückgibt wenn das Daten Element nicht existiert. Zum Beispiel:
+    </para>
+
+    <programlisting language="php"><![CDATA[
 $host = $config->database->get('host', 'localhost');
 ]]></programlisting>
 
-	<example id="zend.config.introduction.example.file.php">
-		<title>Zend_Config mit einer PHP Konfigurationsdatei verwenden</title>
+    <example id="zend.config.introduction.example.file.php">
+        <title>Zend_Config mit einer PHP Konfigurationsdatei verwenden</title>
 
-		<para>
-			Es ist oft gewünscht eine reine
-			<acronym>PHP</acronym>
-			basierende Konfigurationsdatei
-			zu verwenden. Der folgende Code zeigt wie das ganz einfach erreicht
-			werden kann:
-		</para>
+        <para>
+            Es ist oft gewünscht eine reine <acronym>PHP</acronym> basierende Konfigurationsdatei
+            zu verwenden. Der folgende Code zeigt wie das ganz einfach erreicht werden kann:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // config.php
 return array(
     'webhost'  => 'www.example.com',
@@ -126,12 +101,12 @@ return array(
 );
 ]]></programlisting>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Konfiguration konsumieren
 $config = new Zend_Config(require 'config.php');
 
 // Einen Konfigurationswert ausgeben (führt zu 'www.example.com')
 echo $config->webhost;
 ]]></programlisting>
-	</example>
+    </example>
 </sect1>

+ 94 - 171
documentation/manual/de/module_specs/Zend_Config-TheoryOfOperation.xml

@@ -2,184 +2,107 @@
 <!-- EN-Revision: 16674 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.config.theory_of_operation">
-	<title>Theory of Operation</title>
+    <title>Theory of Operation</title>
 
-	<para>
-		Konfigurations-Daten werden dem
-		<classname>Zend_Config</classname>
-		-Konstruktor als
-		assoziatives Array zur Verfügung gestellt. Das Array kann mehrdimensional sein, um
-		die
-		Übergabe geordneter Daten zu unterstützen. Spezifische Adapter fungieren als
-		Schnittstelle
-		zwischen der Datenhaltung und dem
-		<classname>Zend_Config</classname>
-		-Konstruktor, indem sie
-		die Daten für diesen als Array aufbereiten. Es können auch direkt aus dem
-		eigenen Code
-		Arrays an den
-		<classname>Zend_Config</classname>
-		-Konstruktor übergeben werden, ohne eine
-		Adapter-Klasse zu benutzen. In manchen Situationen kann das angebracht sein.
-	</para>
+    <para>
+        Konfigurations-Daten werden dem <classname>Zend_Config</classname>-Konstruktor als
+        assoziatives Array zur Verfügung gestellt. Das Array kann mehrdimensional sein, um die
+        Übergabe geordneter Daten zu unterstützen. Spezifische Adapter fungieren als Schnittstelle
+        zwischen der Datenhaltung und dem <classname>Zend_Config</classname>-Konstruktor, indem sie
+        die Daten für diesen als Array aufbereiten. Es können auch direkt aus dem eigenen Code
+        Arrays an den <classname>Zend_Config</classname>-Konstruktor übergeben werden, ohne eine
+        Adapter-Klasse zu benutzen. In manchen Situationen kann das angebracht sein.
+    </para>
 
-	<para>
-		Jeder Konfigurationswert des Arrays wird zu einer Eigenschaft des
-		<classname>Zend_Config</classname>
-		Objektes. Der Schlüssel wird als Name der Eigenschaft
-		verwendet. Wenn ein Wert selbst ein Array ist, wird die resultierende
-		Eigenschaft des
-		Objektes selbst als ein neues
-		<classname>Zend_Config</classname>
-		Objekt erstellt und mit den
-		Array Daten geladen. Das findet rekursiv statt, sodas hirarchische
-		Konfigurationswerte mit
-		einer beliebigen Anzahl an Level erstellt werden können.
-	</para>
+    <para>
+        Jeder Konfigurationswert des Arrays wird zu einer Eigenschaft des
+        <classname>Zend_Config</classname> Objektes. Der Schlüssel wird als Name der Eigenschaft
+        verwendet. Wenn ein Wert selbst ein Array ist, wird die resultierende Eigenschaft des
+        Objektes selbst als ein neues <classname>Zend_Config</classname> Objekt erstellt und mit den
+        Array Daten geladen. Das findet rekursiv statt, sodas hirarchische Konfigurationswerte mit
+        einer beliebigen Anzahl an Level erstellt werden können.
+    </para>
 
-	<para>
-		<classname>Zend_Config</classname>
-		implementiert die Interfaces
-		<emphasis>Countable</emphasis>
-		und
-		<emphasis>Iterator</emphasis>
-		um den einfachen Zugriff
-		auf Konfigurationsdaten zu gewährleisten. Dementsprechend kann man die
-		<ulink url="http://php.net/count">
-			<methodname>count()</methodname>
-		</ulink>
-		-Funktion und auch
-		<acronym>PHP</acronym>
-		Konstrukte wie
-		<ulink url="http://php.net/foreach">
-			<emphasis>foreach</emphasis>
-		</ulink>
-		auf
-		<classname>Zend_Config</classname>
-		-Objekte anwenden.
-	</para>
+    <para>
+        <classname>Zend_Config</classname> implementiert die Interfaces
+        <emphasis>Countable</emphasis> und <emphasis>Iterator</emphasis> um den einfachen Zugriff
+        auf Konfigurationsdaten zu gewährleisten. Dementsprechend kann man die <ulink
+            url="http://php.net/count"><methodname>count()</methodname></ulink>-Funktion und auch
+        <acronym>PHP</acronym> Konstrukte wie <ulink
+            url="http://php.net/foreach"><emphasis>foreach</emphasis></ulink> auf
+        <classname>Zend_Config</classname>-Objekte anwenden.
+    </para>
 
-	<para>
-		Standardmäßig gewährt
-		<classname>Zend_Config</classname>
-		nur Lesezugriff auf die Daten und
-		der Versuch einer Wertzuweisung (wie z. B.
-		<command>$config->database->host = 'example.com';</command>
-		) löst eine Ausnahme aus. Dieses
-		Standard-Verhalten kann mit Hilfe des Konstruktors aber so überschrieben werden, dass
-		die
-		Veränderung von Daten erlaubt ist. Wenn auch Änderungen erlaubt sind, unterstützt
-		<classname>Zend_Config</classname>
-		das entfernen von Werten (z.B.
-		<methodname>unset($config->database->host)</methodname>
-		). Die
-		<methodname>readOnly()</methodname>
-		Methode kann verwendet werden um festzustellen ob
-		Änderungen an einem gegebenen
-		<classname>Zend_Config</classname>
-		Objekt erlaubt sind und
-		die
-		<methodname>setReadOnly()</methodname>
-		kann verwendet werden um weitere Änderungen an
-		einem
-		<classname>Zend_Config</classname>
-		Objekt, das erstellt wurde und Änderungen erlaubt,
-		zu verhindern.
-	</para>
+    <para>
+        Standardmäßig gewährt <classname>Zend_Config</classname> nur Lesezugriff auf die Daten und
+        der Versuch einer Wertzuweisung (wie z. B.
+        <command>$config->database->host = 'example.com';</command>) löst eine Ausnahme aus. Dieses
+        Standard-Verhalten kann mit Hilfe des Konstruktors aber so überschrieben werden, dass die
+        Veränderung von Daten erlaubt ist. Wenn auch Änderungen erlaubt sind, unterstützt
+        <classname>Zend_Config</classname> das entfernen von Werten (z.B.
+        <methodname>unset($config->database->host)</methodname>). Die
+        <methodname>readOnly()</methodname> Methode kann verwendet werden um festzustellen ob
+        Änderungen an einem gegebenen <classname>Zend_Config</classname> Objekt erlaubt sind und
+        die <methodname>setReadOnly()</methodname> kann verwendet werden um weitere Änderungen an
+        einem <classname>Zend_Config</classname> Objekt, das erstellt wurde und Änderungen erlaubt,
+        zu verhindern.
+    </para>
 
-	<note>
-		<para>
-			Es muss angemerkt werden, dass hierbei nur die Daten im Speicher
-			verändert werden.
-			Es wird keine Änderung an den Konfigurations-Daten auf dem
-			Speichermedium
-			vorgenommen. Werkzeuge zur Veränderung gespeicherter Konfigurations-Daten liegen
-			nicht im Bereich von
-			<classname>Zend_Config</classname>
-			. Drittanbieter bieten
-			bereits diverse Open-Source-Lösungen für das Erstellen und Verändern von
-			Konfigurations-Datensätzen in verschienen Formaten.
-		</para>
-	</note>
+    <note>
+        <para>
+            Es muss angemerkt werden, dass hierbei nur die Daten im Speicher verändert werden.
+            Es wird keine Änderung an den Konfigurations-Daten auf dem Speichermedium
+            vorgenommen. Werkzeuge zur Veränderung gespeicherter Konfigurations-Daten liegen
+            nicht im Bereich von <classname>Zend_Config</classname>. Drittanbieter bieten
+            bereits diverse Open-Source-Lösungen für das Erstellen und Verändern von
+            Konfigurations-Datensätzen in verschienen Formaten.
+        </para>
+    </note>
 
-	<para>
-		Adapter-Klassen erben von der
-		<classname>Zend_Config</classname>
-		-Klasse, da sie ihre
-		Funktionalität nutzen.
-	</para>
+    <para>
+        Adapter-Klassen erben von der <classname>Zend_Config</classname>-Klasse, da sie ihre
+        Funktionalität nutzen.
+    </para>
 
-	<para>
-		Die Familie der
-		<classname>Zend_Config</classname>
-		-Klassen ermöglicht es, Daten in Sektionen
-		einzuteilen. Beim Initialisieren eines
-		<classname>Zend_Config</classname>
-		-Adapter-Objektes
-		können eine einzelne spezifizierte Sektion, mehrere spezifizierte Sektionen
-		oder alle
-		Sektionen (wenn keine spezifiziert ist) geladen werden.
-	</para>
+    <para>
+        Die Familie der <classname>Zend_Config</classname>-Klassen ermöglicht es, Daten in Sektionen
+        einzuteilen. Beim Initialisieren eines <classname>Zend_Config</classname>-Adapter-Objektes
+        können eine einzelne spezifizierte Sektion, mehrere spezifizierte Sektionen oder alle
+        Sektionen (wenn keine spezifiziert ist) geladen werden.
+    </para>
 
-	<para>
-		Die
-		<classname>Zend_Config</classname>
-		-Adapter-Klassen unterstützen ein Modell einfacher
-		Vererbung, welches es ermöglicht, dass Konfigurations-Daten aus einer Sektion an
-		eine Andere
-		vererbt werden können. Dadurch kann die Notwendigeit doppelter
-		Konfigurations-Daten für
-		verschiedene Einsatzgebiete reduziert oder beseitigt werden. Eine erbende Sektion
-		kann die
-		von der Eltern-Sektion geerbten Werte auch überschreiben. Wie auch bei
-		der Klassen-Vererbung
-		in
-		<acronym>PHP</acronym>
-		kann eine Sektion von einer Eltern-Sektion geerbt werden, die
-		wiederum von einer Großeltern-Sektion geerbt hat und so weiter. Mehrfaches
-		Erben
-		(Beispielsweise der Fall, dass Sektion C direkt von den Eltern-Sektionen A und B
-		erbt)
-		wird dagegen nicht unterstützt.
-	</para>
+    <para>
+        Die <classname>Zend_Config</classname>-Adapter-Klassen unterstützen ein Modell einfacher
+        Vererbung, welches es ermöglicht, dass Konfigurations-Daten aus einer Sektion an eine Andere
+        vererbt werden können. Dadurch kann die Notwendigeit doppelter Konfigurations-Daten für
+        verschiedene Einsatzgebiete reduziert oder beseitigt werden. Eine erbende Sektion kann die
+        von der Eltern-Sektion geerbten Werte auch überschreiben. Wie auch bei der Klassen-Vererbung
+        in <acronym>PHP</acronym> kann eine Sektion von einer Eltern-Sektion geerbt werden, die
+        wiederum von einer Großeltern-Sektion geerbt hat und so weiter. Mehrfaches Erben
+        (Beispielsweise der Fall, dass Sektion C direkt von den Eltern-Sektionen A und B erbt)
+        wird dagegen nicht unterstützt.
+    </para>
 
-	<para>
-		Wenn zwei
-		<classname>Zend_Config</classname>
-		Objekte vorhanden sind, können diese in ein
-		einzelnes Objekt zusammengeführt werden indem die
-		<methodname>merge()</methodname>
-		Funktion
-		verwendet wird. Angenommen es gibt
-		<varname>$config</varname>
-		und
-		<varname>$localConfig</varname>
-		, kann
-		<varname>$localConfig</varname>
-		in
-		<varname>$config</varname>
-		zusammengeführt werden indem
-		<command>$config->merge($localConfig);</command>
-		aufgerufen wird. Die Elemente in
-		<varname>$localConfig</varname>
-		überschreiben gleichnamige Elemente in
-		<varname>$config</varname>
-		.
-	</para>
-	<note>
-		<para>
-			Das
-			<classname>Zend_Config</classname>
-			Objekt das die Zusammenführung durchführt
-			muß so erstellt worden sein das es Änderungen erlaubt, indem dem
-			Constructor
-			<constant>TRUE</constant>
-			als zweiter Parameter übergeben wird. Die
-			<methodname>setReadOnly()</methodname>
-			Methode kann dann verwendet werden um
-			weitere Änderungen zu verhindern nachdem die Zusammenführung fertiggestellt
-			ist.
-		</para>
-	</note>
+    <para>
+        Wenn zwei <classname>Zend_Config</classname> Objekte vorhanden sind, können diese in ein
+        einzelnes Objekt zusammengeführt werden indem die <methodname>merge()</methodname> Funktion
+        verwendet wird. Angenommen es gibt <varname>$config</varname> und
+        <varname>$localConfig</varname>, kann <varname>$localConfig</varname> in
+        <varname>$config</varname> zusammengeführt werden indem
+        <command>$config->merge($localConfig);</command> aufgerufen wird. Die Elemente in
+        <varname>$localConfig</varname> überschreiben gleichnamige Elemente in
+        <varname>$config</varname>.
+    </para>
+    <note>
+        <para>
+            Das <classname>Zend_Config</classname> Objekt das die Zusammenführung durchführt
+            muß so erstellt worden sein das es Änderungen erlaubt, indem dem Constructor
+            <constant>TRUE</constant> als zweiter Parameter übergeben wird. Die
+            <methodname>setReadOnly()</methodname> Methode kann dann verwendet werden um
+            weitere Änderungen zu verhindern nachdem die Zusammenführung fertiggestellt ist.
+        </para>
+    </note>
 </sect1>
-<!-- vim:se ts=4 sw=4 et: -->
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 131 - 200
documentation/manual/de/module_specs/Zend_Config_Ini.xml

@@ -2,109 +2,70 @@
 <!-- EN-Revision: 21823 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.config.adapters.ini">
-	<title>Zend_Config_Ini</title>
-
-	<para>
-		<classname>Zend_Config_Ini</classname>
-		ermöglicht es Entwicklern, Konfigurations-Daten in
-		einem vertrauten
-		<acronym>INI</acronym>
-		Format zu speichern und sie mit einer Syntax
-		auszulesen, die dem Zugriff auf die Eigenschaften verschachtelter Objekte
-		entspricht. Das
-		verwendete
-		<acronym>INI</acronym>
-		Format bietet einerseits die Möglichkeit, Konfigurations
-		Daten hierarchisch abzulegen und andererseits Vererbung zwischen Sektionen
-		zu
-		spezifizieren. Konfigurations-Daten-Hierarchien werden durch das Trennen der
-		Schlüsselwörter durch einen Punkt (
-		<emphasis>.</emphasis>
-		). Eine Sektion kann eine andere
-		Sektion erweitern oder beerben indem man nach dem Sektionsname einen
-		Doppelpunkt
-		(
-		<emphasis>:</emphasis>
-		) notiert, gefolgt vom Namen der zu beerbenden Sektion.
-	</para>
-
-	<note>
-		<title>Die Ini Datei parsen</title>
-
-		<para>
-			<classname>Zend_Config_Ini</classname>
-			verwendet die
-			<acronym>PHP</acronym>
-			Funktion
-			<ulink url="http://php.net/parse_ini_file">
-				<methodname>parse_ini_file()</methodname>
-			</ulink>
-			.
-			Deren Dokumentation klärt über spezielle Verhaltensweisen auf, die sich
-			auch auf
-			<classname>Zend_Config_Ini</classname>
-			auswirken, z. B. wie die besonderen Werte
-			"
-			<constant>TRUE</constant>
-			", "
-			<constant>FALSE</constant>
-			", "yes", "no" und
-			"
-			<constant>NULL</constant>
-			" gehandhabt werden.
-		</para>
-	</note>
-
-	<note>
-		<title>Schlüssel Trenner</title>
-
-		<para>
-			Standardmäßig ist das Schlüssel Trennzeichen der Punkt (
-			<emphasis>.</emphasis>
-			). Dies
-			kann geändert werden, indem der
-			<varname>$options</varname>
-			Schlüssel
-			<property>nestSeparator</property>
-			geändert wird, wenn das
-			<classname>Zend_Config_Ini</classname>
-			Objekt instanziert wird.
-			Zum Beispiel:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    <title>Zend_Config_Ini</title>
+
+    <para>
+        <classname>Zend_Config_Ini</classname> ermöglicht es Entwicklern, Konfigurations-Daten in
+        einem vertrauten <acronym>INI</acronym> Format zu speichern und sie mit einer Syntax
+        auszulesen, die dem Zugriff auf die Eigenschaften verschachtelter Objekte entspricht. Das
+        verwendete <acronym>INI</acronym> Format bietet einerseits die Möglichkeit, Konfigurations
+        Daten hierarchisch abzulegen und andererseits Vererbung zwischen Sektionen zu
+        spezifizieren. Konfigurations-Daten-Hierarchien werden durch das Trennen der
+        Schlüsselwörter durch einen Punkt (<emphasis>.</emphasis>). Eine Sektion kann eine andere
+        Sektion erweitern oder beerben indem man nach dem Sektionsname einen Doppelpunkt
+        (<emphasis>:</emphasis>) notiert, gefolgt vom Namen der zu beerbenden Sektion.
+    </para>
+
+    <note>
+        <title>Die Ini Datei parsen</title>
+
+        <para>
+            <classname>Zend_Config_Ini</classname> verwendet die <acronym>PHP</acronym> Funktion
+            <ulink
+                url="http://php.net/parse_ini_file"><methodname>parse_ini_file()</methodname></ulink>.
+            Deren Dokumentation klärt über spezielle Verhaltensweisen auf, die sich auch auf
+            <classname>Zend_Config_Ini</classname> auswirken, z. B. wie die besonderen Werte
+            "<constant>TRUE</constant>", "<constant>FALSE</constant>", "yes", "no" und
+            "<constant>NULL</constant>" gehandhabt werden.
+        </para>
+    </note>
+
+    <note>
+        <title>Schlüssel Trenner</title>
+
+        <para>
+            Standardmäßig ist das Schlüssel Trennzeichen der Punkt (<emphasis>.</emphasis>). Dies
+            kann geändert werden, indem der <varname>$options</varname> Schlüssel
+            <property>nestSeparator</property> geändert wird, wenn das
+            <classname>Zend_Config_Ini</classname> Objekt instanziert wird.
+            Zum Beispiel:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $options['nestSeparator'] = ':';
 $config = new Zend_Config_Ini('/path/to/config.ini',
                               'staging',
                               $options);
 ]]></programlisting>
-	</note>
-
-	<example id="zend.config.adapters.ini.example.using">
-		<title>Zend_Config_Ini benutzen</title>
-
-		<para>
-			Dieses Beispiel zeigt die grundlegende Nutzung von
-			<classname>Zend_Config_Ini</classname>
-			um Konfigurations-Daten aus einer
-			<acronym>INI</acronym>
-			Datei zu laden. In diesem Beispiel gibt es Konfigurations-Daten
-			für ein Produktiv- und ein Staging-System. Da sich die Daten für das
-			Staging-System nur
-			unwesentlich von denen für das Produktiv-System unterscheiden, erbt das
-			Staging-System
-			vom Produktiv-System. In diesem Fall ist die Entscheidung darüber,
-			welche Sektion von
-			welcher erben soll, willkürlich und es könnte auch anders herum gemacht
-			werden. In
-			komplexeren Fällen ist das möglicherweise nicht der Fall. Nehmen wir also an,
-			dass sich
-			die folgenden Konfigurations-Daten in der Datei
-			<filename>/path/to/config.ini</filename>
-			befinden:
-		</para>
-
-		<programlisting language="ini"><![CDATA[
+    </note>
+
+    <example id="zend.config.adapters.ini.example.using">
+        <title>Zend_Config_Ini benutzen</title>
+
+        <para>
+            Dieses Beispiel zeigt die grundlegende Nutzung von
+            <classname>Zend_Config_Ini</classname> um Konfigurations-Daten aus einer
+            <acronym>INI</acronym> Datei zu laden. In diesem Beispiel gibt es Konfigurations-Daten
+            für ein Produktiv- und ein Staging-System. Da sich die Daten für das Staging-System nur
+            unwesentlich von denen für das Produktiv-System unterscheiden, erbt das Staging-System
+            vom Produktiv-System. In diesem Fall ist die Entscheidung darüber, welche Sektion von
+            welcher erben soll, willkürlich und es könnte auch anders herum gemacht werden. In
+            komplexeren Fällen ist das möglicherweise nicht der Fall. Nehmen wir also an, dass sich
+            die folgenden Konfigurations-Daten in der Datei
+            <filename>/path/to/config.ini</filename> befinden:
+        </para>
+
+        <programlisting language="ini"><![CDATA[
 ; Konfigurations-Daten für die Produktiv-Site
 [production]
 webhost                  = www.example.com
@@ -122,111 +83,81 @@ database.params.username = devuser
 database.params.password = devsecret
 ]]></programlisting>
 
-		<para>
-			Nehmen wir weiterhin an, dass der Anwendungs-Entwickler die
-			Staging-Konfiguration aus
-			dieser
-			<acronym>INI</acronym>
-			Datei benötigt. Es ist ein Leichtes, diese Daten zu laden,
-			es muss nur die
-			<acronym>INI</acronym>
-			Datei und die Staging-Sektion spezifiziert
-			werden:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+        <para>
+            Nehmen wir weiterhin an, dass der Anwendungs-Entwickler die Staging-Konfiguration aus
+            dieser <acronym>INI</acronym> Datei benötigt. Es ist ein Leichtes, diese Daten zu laden,
+            es muss nur die <acronym>INI</acronym> Datei und die Staging-Sektion spezifiziert
+            werden:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 $config = new Zend_Config_Ini('/path/to/config.ini', 'staging');
 
 echo $config->database->params->host;   // Ausgabe "dev.example.com"
 echo $config->database->params->dbname; // Ausgabe "dbname"
 ]]></programlisting>
-	</example>
-
-	<note>
-		<table id="zend.config.adapters.ini.table">
-			<title>Zend_Config_Ini Kontruktor Parameter</title>
-
-			<tgroup cols="2">
-				<thead>
-					<row>
-						<entry>Parameter</entry>
-						<entry>Notizen</entry>
-					</row>
-				</thead>
-
-				<tbody>
-					<row>
-						<entry>
-							<varname>$filename</varname>
-						</entry>
-						<entry>
-							Die
-							<acronym>INI</acronym>
-							Datei die geladen wird.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<varname>$section</varname>
-						</entry>
-
-						<entry>
-							Die [section] innerhalb der
-							<acronym>INI</acronym>
-							Datei die geladen
-							wird. Das Setzen dieses Parameters auf
-							<constant>NULL</constant>
-							lädt
-							alle Sektionen. Alternativ, kann ein Array von Sektionsnamen
-							übergeben
-							werden um mehrere Sektionen zu laden.
-						</entry>
-					</row>
-
-					<row>
-						<entry>
-							<varname>$options</varname>
-							(Default
-							<constant>FALSE</constant>
-							)
-						</entry>
-
-						<entry>
-							Options Array. Die folgenden Schlüssel werden unterstützt:
-
-							<itemizedlist>
-								<listitem>
-									<para>
-										<emphasis>
-											<property>allowModifications</property>
-										</emphasis>
-										:
-										Auf
-										<constant>TRUE</constant>
-										gesetzt erlaubt es
-										weiterführende Modifikationen der geladenen
-										Konfigurationsdaten im Speicher. Standardmäßig auf
-										<constant>NULL</constant>
-										gestellt
-									</para>
-								</listitem>
-
-								<listitem>
-									<para>
-										<emphasis>
-											<property>nestSeparator</property>
-										</emphasis>
-										: Auf
-										das Zeichen zu setzen das als Abschnitts Separator verwendet
-										wird. Standardmäßig auf "." gestellt
-									</para>
-								</listitem>
-							</itemizedlist>
-						</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-	</note>
+    </example>
+
+    <note>
+        <table id="zend.config.adapters.ini.table">
+            <title>Zend_Config_Ini Kontruktor Parameter</title>
+
+            <tgroup cols="2">
+                <thead>
+                    <row>
+                        <entry>Parameter</entry>
+                        <entry>Notizen</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><varname>$filename</varname></entry>
+                        <entry>Die <acronym>INI</acronym> Datei die geladen wird.</entry>
+                    </row>
+
+                    <row>
+                        <entry><varname>$section</varname></entry>
+
+                        <entry>
+                            Die [section] innerhalb der <acronym>INI</acronym> Datei die geladen
+                            wird. Das Setzen dieses Parameters auf <constant>NULL</constant> lädt
+                            alle Sektionen. Alternativ, kann ein Array von Sektionsnamen übergeben
+                            werden um mehrere Sektionen zu laden.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry>
+                            <varname>$options</varname> (Default <constant>FALSE</constant>)
+                        </entry>
+
+                        <entry>
+                            Options Array. Die folgenden Schlüssel werden unterstützt:
+
+                            <itemizedlist>
+                                <listitem>
+                                    <para>
+                                        <emphasis><property>allowModifications</property></emphasis>:
+                                        Auf <constant>TRUE</constant> gesetzt erlaubt es
+                                        weiterführende Modifikationen der geladenen
+                                        Konfigurationsdaten im Speicher. Standardmäßig auf
+                                        <constant>NULL</constant> gestellt
+                                    </para>
+                                </listitem>
+
+                                <listitem>
+                                    <para>
+                                        <emphasis><property>nestSeparator</property></emphasis>: Auf
+                                        das Zeichen zu setzen das als Abschnitts Separator verwendet
+                                        wird. Standardmäßig auf "." gestellt
+                                    </para>
+                                </listitem>
+                            </itemizedlist>
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+    </note>
 </sect1>

+ 86 - 154
documentation/manual/de/module_specs/Zend_Config_Writer.xml

@@ -2,117 +2,63 @@
 <!-- EN-Revision: 20765 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.config.writer.introduction">
-	<title>Zend_Config_Writer</title>
-
-	<para>
-		<classname>Zend_Config_Writer</classname>
-		gibt einem die Möglichkeit Configdateien aus
-		<classname>Zend_Config</classname>
-		Objekten heraus zu schreiben. Es arbeitet mit einem
-		Adapter-artigen System und ist deswegen sehr einfach zu verwenden. Standardmäßig wird
-		<classname>Zend_Config_Writer</classname>
-		mit drei Adaptern ausgeliefert, die alle Datei
-		basierend sind. Der Writer wird mit speziellen Optionen instanziert, welche
-		<emphasis>filename</emphasis>
-		und
-		<emphasis>config</emphasis>
-		sein können. Dann wird die
-		<methodname>write()</methodname>
-		Methode des Writers aufgerufen und die Configdatei wird
-		erstellt. Man kann
-		<varname>$filename</varname>
-		und
-		<varname>$config</varname>
-		auch direkt
-		an die
-		<methodname>write()</methodname>
-		Methode übergeben. Aktuell werden die folgenden
-		Writer mit
-		<classname>Zend_Config_Writer</classname>
-		ausgeliefert:
-	</para>
-
-	<itemizedlist>
-		<listitem>
-			<para>
-				<classname>Zend_Config_Writer_Array</classname>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<classname>Zend_Config_Writer_Ini</classname>
-			</para>
-		</listitem>
-		<listitem>
-			<para>
-				<classname>Zend_Config_Writer_Xml</classname>
-			</para>
-		</listitem>
-	</itemizedlist>
-
-	<para>
-		Der
-		<acronym>INI</acronym>
-		Writer hat zwei Modi für die Darstellung bezüglich Sektionen.
-		Standardmäßig wird die Top-Level Konfiguration immer in Sektionsnamen
-		geschrieben. Durch den
-		Aufruf von
-		<command>$writer->setRenderWithoutSections();</command>
-		werden alle Optionen in
-		den globalen Namespace der
-		<acronym>INI</acronym>
-		Datei geschrieben und es werden keine
-		Sektionen angehängt.
-	</para>
-
-	<para>
-		Zusätzlich hat
-		<classname>Zend_Config_Writer_Ini</classname>
-		einen zusätzlichen optionalen
-		Parameter
-		<emphasis>nestSeparator</emphasis>
-		, welche definiert mit welchem Zeichen die
-		einzelnen Nodes getrennt werden. Der Standard ist ein einzelner Punkt, wie er
-		standardmäßig
-		von
-		<classname>Zend_Config_Ini</classname>
-		akzeptiert wird.
-	</para>
-
-	<para>
-		Wenn ein
-		<classname>Zend_Config</classname>
-		Objekt geändert oder erstellt wird, muß man
-		einige Dinge wissen. Um einen Wert zu erstellen oder zu ändern muß einfach
-		der Parameter
-		des
-		<classname>Zend_Config</classname>
-		Objektes über den Zugriffsaccessor
-		(
-		<emphasis>-&gt;</emphasis>
-		) gesetzt werden. Um eine Sektion im Root oder im Branch zu
-		erstellen muß einfach ein neues Aray erstellt werden
-		("
-		<command>$config-&gt;branch = array();</command>
-		"). Um zu definieren welche Sektion eine
-		andere erweitert, muß die
-		<methodname>setExtend()</methodname>
-		Methode am Root
-		<classname>Zend_Config</classname>
-		Objekt aufgerufen werden.
-	</para>
-
-	<example id="zend.config.writer.example.using">
-		<title>Verwenden von Zend_Config_Writer</title>
-
-		<para>
-			Dieses Beispiel zeigt die grundsätzliche Verwendung von
-			<classname>Zend_Config_Writer_Xml</classname>
-			um eine neue Konfigurationsdatei zu
-			erstellen:
-		</para>
-
-		<programlisting language="php"><![CDATA[
+    <title>Zend_Config_Writer</title>
+
+    <para>
+        <classname>Zend_Config_Writer</classname> gibt einem die Möglichkeit Configdateien aus
+        <classname>Zend_Config</classname> Objekten heraus zu schreiben. Es arbeitet mit einem
+        Adapter-artigen System und ist deswegen sehr einfach zu verwenden. Standardmäßig wird
+        <classname>Zend_Config_Writer</classname> mit drei Adaptern ausgeliefert, die alle Datei
+        basierend sind. Der Writer wird mit speziellen Optionen instanziert, welche
+        <emphasis>filename</emphasis> und <emphasis>config</emphasis> sein können. Dann wird die
+        <methodname>write()</methodname> Methode des Writers aufgerufen und die Configdatei wird
+        erstellt. Man kann <varname>$filename</varname> und <varname>$config</varname> auch direkt
+        an die <methodname>write()</methodname> Methode übergeben. Aktuell werden die folgenden
+        Writer mit <classname>Zend_Config_Writer</classname> ausgeliefert:
+    </para>
+
+    <itemizedlist>
+        <listitem><para><classname>Zend_Config_Writer_Array</classname></para></listitem>
+        <listitem><para><classname>Zend_Config_Writer_Ini</classname></para></listitem>
+        <listitem><para><classname>Zend_Config_Writer_Xml</classname></para></listitem>
+    </itemizedlist>
+
+    <para>
+        Der <acronym>INI</acronym> Writer hat zwei Modi für die Darstellung bezüglich Sektionen.
+        Standardmäßig wird die Top-Level Konfiguration immer in Sektionsnamen geschrieben. Durch den
+        Aufruf von <command>$writer->setRenderWithoutSections();</command> werden alle Optionen in
+        den globalen Namespace der <acronym>INI</acronym> Datei geschrieben und es werden keine
+        Sektionen angehängt.
+    </para>
+
+    <para>
+        Zusätzlich hat <classname>Zend_Config_Writer_Ini</classname> einen zusätzlichen optionalen
+        Parameter <emphasis>nestSeparator</emphasis>, welche definiert mit welchem Zeichen die
+        einzelnen Nodes getrennt werden. Der Standard ist ein einzelner Punkt, wie er standardmäßig
+        von <classname>Zend_Config_Ini</classname> akzeptiert wird.
+    </para>
+
+    <para>
+        Wenn ein <classname>Zend_Config</classname> Objekt geändert oder erstellt wird, muß man
+        einige Dinge wissen. Um einen Wert zu erstellen oder zu ändern muß einfach der Parameter
+        des <classname>Zend_Config</classname> Objektes über den Zugriffsaccessor
+        (<emphasis>-&gt;</emphasis>) gesetzt werden. Um eine Sektion im Root oder im Branch zu
+        erstellen muß einfach ein neues Aray erstellt werden
+        ("<command>$config-&gt;branch = array();</command>"). Um zu definieren welche Sektion eine
+        andere erweitert, muß die <methodname>setExtend()</methodname> Methode am Root
+        <classname>Zend_Config</classname> Objekt aufgerufen werden.
+    </para>
+
+    <example id="zend.config.writer.example.using">
+        <title>Verwenden von Zend_Config_Writer</title>
+
+        <para>
+            Dieses Beispiel zeigt die grundsätzliche Verwendung von
+            <classname>Zend_Config_Writer_Xml</classname> um eine neue Konfigurationsdatei zu
+            erstellen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
 // Ein neues Config Objekt erstellen
 $config = new Zend_Config(array(), true);
 $config->production = array();
@@ -144,23 +90,20 @@ $writer = new Zend_Config_Writer_Xml();
 $writer->write('config.xml', $config);
 ]]></programlisting>
 
-		<para>
-			Das erstellt eine
-			<acronym>XML</acronym>
-			Config Datei mit den Sektionen production und
-			staging, wobei staging production erweitert.
-		</para>
-	</example>
+        <para>
+            Das erstellt eine <acronym>XML</acronym> Config Datei mit den Sektionen production und
+            staging, wobei staging production erweitert.
+        </para>
+    </example>
 
-	<example id="zend.config.writer.modifying">
-		<title>Eine bestehende Config ändern</title>
+    <example id="zend.config.writer.modifying">
+        <title>Eine bestehende Config ändern</title>
 
-		<para>
-			Dieses Beispiel zeigt wie eine bestehende Config Datei bearbeitet werden
-			kann.
+        <para>
+            Dieses Beispiel zeigt wie eine bestehende Config Datei bearbeitet werden kann.
         </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Lädt alle Sektionen einer bestehenden Config Datei, und überspringt
 // alle Erweiterungen
 $config = new Zend_Config_Ini('config.ini',
@@ -176,34 +119,23 @@ $writer = new Zend_Config_Writer_Ini(array('config'   => $config,
                                            'filename' => 'config.ini'));
 $writer->write();
 ]]></programlisting>
-	</example>
-
-	<note>
-		<title>Laden einer Config Datei</title>
-
-		<para>
-			Beim Laden einer bestehenden Config Datei für eine Änderung ist es
-			sehr wichtig das alle
-			Sektionen geladen werden und die Erweiterungen übersprungen werden, sodas
-			keine Werte
-			zusammengefügt werden. Das wird durch die Übergabe von
-			<emphasis>skipExtends</emphasis>
-			als Option an den Constructor durchgeführt.
-		</para>
-	</note>
-
-	<para>
-		Für alle Datei-basierenden Writer (
-		<acronym>INI</acronym>
-		,
-		<acronym>XML</acronym>
-		und
-		<acronym>PHP</acronym>
-		Array) wird intern
-		<methodname>render()</methodname>
-		verwendet um den
-		Konfigurationsstring zu erstellen. Diese Methode kann auch von ausserhalb aus verwendet
-		werden wenn man Zugriff auf eine String-Repräsentation der
-		Konfigurationsdaten benötigt.
-	</para>
+    </example>
+
+    <note>
+        <title>Laden einer Config Datei</title>
+
+        <para>
+            Beim Laden einer bestehenden Config Datei für eine Änderung ist es sehr wichtig das alle
+            Sektionen geladen werden und die Erweiterungen übersprungen werden, sodas keine Werte
+            zusammengefügt werden. Das wird durch die Übergabe von <emphasis>skipExtends</emphasis>
+            als Option an den Constructor durchgeführt.
+        </para>
+    </note>
+
+    <para>
+        Für alle Datei-basierenden Writer (<acronym>INI</acronym>, <acronym>XML</acronym> und
+        <acronym>PHP</acronym> Array) wird intern <methodname>render()</methodname> verwendet um den
+        Konfigurationsstring zu erstellen. Diese Methode kann auch von ausserhalb aus verwendet
+        werden wenn man Zugriff auf eine String-Repräsentation der Konfigurationsdaten benötigt.
+    </para>
 </sect1>

+ 105 - 166
documentation/manual/de/module_specs/Zend_Config_Xml.xml

@@ -2,81 +2,50 @@
 <!-- EN-Revision: 20765 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.config.adapters.xml">
-	<title>Zend_Config_Xml</title>
-
-	<para>
-		<classname>Zend_Config_Xml</classname>
-		ermöglicht es Entwicklern, Konfigurations-Daten in
-		einfachen
-		<acronym>XML</acronym>
-		Dateien zu speichern und sie mit einer Syntax auszulesen,
-		die dem Zugriff auf die Eigenschaften verschachtelter Objekte entspricht.
-		Der Name des
-		Root-Elementes der
-		<acronym>XML</acronym>
-		Datei oder des Strings ist unwichtig und kann
-		beliebig gewählt werden. Die erste Ebene der
-		<acronym>XML</acronym>
-		Struktur stellt die
-		Konfigurationsdaten-Sektionen dar. Hirarchische Strukturen können im
-		<acronym>XML</acronym>
-		Format durch Verschachteln von
-		<acronym>XML</acronym>
-		Elementen unterhalb der
-		Sektions-Ebene umgesetzt werden. Der Inhalt eines
-		<acronym>XML</acronym>
-		Blatt-Elementes
-		(Leaf) ist der Wert eines Konfigurations-Eintrages. Die Sektions-Vererbung
-		wird durch ein
-		spezielles
-		<acronym>XML</acronym>
-		Attribut namens
-		<emphasis>extends</emphasis>
-		unterstützt,
-		der Wert des Attributs entspricht dabei dem Namen der Sektion, von der
-		Daten geerbt werden
-		sollen.
-	</para>
-
-	<note>
-		<title>Rückgabe Typen</title>
-
-		<para>
-			Konfigurations-Daten, die in
-			<classname>Zend_Config_Xml</classname>
-			eingelesen wurden,
-			werden immer als Strings zurück gegeben. Die Konvertierung der Daten von
-			Strings in
-			andere Datentypen ist Aufgabe der Entwickler und von deren Bedürfnissen
-			abhängig.
-		</para>
-	</note>
-
-	<example id="zend.config.adapters.xml.example.using">
-		<title>Zend_Config_Xml benutzen</title>
-
-		<para>
-			Dieses Beispiel zeigt die grundlegende Nutzung von
-			<classname>Zend_Config_Xml</classname>
-			um Konfigurations-Daten aus einer
-			<acronym>XML</acronym>
-			Datei zu laden. In diesem Beispiel gibt es Konfigurations-Daten
-			für ein Produktiv- und ein Staging-System. Da sich die Daten für das
-			Staging-System nur
-			unwesentlich von denen für das Produktiv-System unterscheiden, erbt das
-			Staging-System
-			vom Produktiv-System. In diesem Fall ist die Entscheidung darüber,
-			welche Sektion von
-			welcher erben soll, willkürlich und es könnte auch anders herum gemacht
-			werden. In
-			komplexeren Fällen ist das möglicherweise nicht der Fall. Nehmen wir also an,
-			dass sich
-			die folgenden Konfigurations-Daten in der Datei
-			<filename>/path/to/config.xml</filename>
-			befinden:
-		</para>
-
-		<programlisting language="xml"><![CDATA[
+    <title>Zend_Config_Xml</title>
+
+    <para>
+        <classname>Zend_Config_Xml</classname> ermöglicht es Entwicklern, Konfigurations-Daten in
+        einfachen <acronym>XML</acronym> Dateien zu speichern und sie mit einer Syntax auszulesen,
+        die dem Zugriff auf die Eigenschaften verschachtelter Objekte entspricht. Der Name des
+        Root-Elementes der <acronym>XML</acronym> Datei oder des Strings ist unwichtig und kann
+        beliebig gewählt werden. Die erste Ebene der <acronym>XML</acronym> Struktur stellt die
+        Konfigurationsdaten-Sektionen dar. Hirarchische Strukturen können im <acronym>XML</acronym>
+        Format durch Verschachteln von <acronym>XML</acronym> Elementen unterhalb der
+        Sektions-Ebene umgesetzt werden. Der Inhalt eines <acronym>XML</acronym> Blatt-Elementes
+        (Leaf) ist der Wert eines Konfigurations-Eintrages. Die Sektions-Vererbung wird durch ein
+        spezielles <acronym>XML</acronym> Attribut namens <emphasis>extends</emphasis> unterstützt,
+        der Wert des Attributs entspricht dabei dem Namen der Sektion, von der Daten geerbt werden
+        sollen.
+    </para>
+
+    <note>
+        <title>Rückgabe Typen</title>
+
+        <para>
+            Konfigurations-Daten, die in <classname>Zend_Config_Xml</classname> eingelesen wurden,
+            werden immer als Strings zurück gegeben. Die Konvertierung der Daten von Strings in
+            andere Datentypen ist Aufgabe der Entwickler und von deren Bedürfnissen abhängig.
+        </para>
+    </note>
+
+    <example id="zend.config.adapters.xml.example.using">
+        <title>Zend_Config_Xml benutzen</title>
+
+        <para>
+            Dieses Beispiel zeigt die grundlegende Nutzung von
+            <classname>Zend_Config_Xml</classname> um Konfigurations-Daten aus einer
+            <acronym>XML</acronym> Datei zu laden. In diesem Beispiel gibt es Konfigurations-Daten
+            für ein Produktiv- und ein Staging-System. Da sich die Daten für das Staging-System nur
+            unwesentlich von denen für das Produktiv-System unterscheiden, erbt das Staging-System
+            vom Produktiv-System. In diesem Fall ist die Entscheidung darüber, welche Sektion von
+            welcher erben soll, willkürlich und es könnte auch anders herum gemacht werden. In
+            komplexeren Fällen ist das möglicherweise nicht der Fall. Nehmen wir also an, dass sich
+            die folgenden Konfigurations-Daten in der Datei
+            <filename>/path/to/config.xml</filename> befinden:
+        </para>
+
+        <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <configdata>
     <production>
@@ -103,46 +72,35 @@
 </configdata>
 ]]></programlisting>
 
-		<para>
-			Nehmen wir weiterhin an, dass der Anwendungs-Entwickler die
-			Staging-Konfiguration aus
-			dieser
-			<acronym>XML</acronym>
-			Datei benötigt. Es ist ein Leichtes, diese Daten zu
-			laden, es muss nur die
-			<acronym>XML</acronym>
-			Datei und die Staging-Sektion
-			spezifiziert werden:
-		</para>
+        <para>
+            Nehmen wir weiterhin an, dass der Anwendungs-Entwickler die Staging-Konfiguration aus
+            dieser <acronym>XML</acronym> Datei benötigt. Es ist ein Leichtes, diese Daten zu
+            laden, es muss nur die <acronym>XML</acronym> Datei und die Staging-Sektion
+            spezifiziert werden:
+        </para>
 
-		<programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $config = new Zend_Config_Xml('/path/to/config.xml', 'staging');
 
 echo $config->database->params->host;   // ausgabe "dev.example.com"
 echo $config->database->params->dbname; // ausgabe "dbname"
 ]]></programlisting>
-	</example>
-
-	<example id="zend.config.adapters.xml.example.attributes">
-		<title>Tag Attribute in Zend_Config_Xml verwenden</title>
-
-		<para>
-			<classname>Zend_Config_Xml</classname>
-			unterstützt auch zwei zusätzliche Wege der
-			Definition von Knoten in der Konfiguration. Beide verwenden Attribute. Da die
-			<emphasis>extends</emphasis>
-			und
-			<emphasis>value</emphasis>
-			Attribute reservierte
-			Schlüsselwörter sind (das letztere durch den zweiten Weg der Verwendung von
-			Attributen), können sie nicht verwendet werden. Der erste Weg
-			Attribute zu
-			verwenden ist das hinzufügen von Attributen zum Elternknoten, welcher dann in
-			einen
-			Kindknoten dieses Knotens übersetzt wird:
-		</para>
-
-		<programlisting language="xml"><![CDATA[
+    </example>
+
+    <example id="zend.config.adapters.xml.example.attributes">
+        <title>Tag Attribute in Zend_Config_Xml verwenden</title>
+
+        <para>
+            <classname>Zend_Config_Xml</classname> unterstützt auch zwei zusätzliche Wege der
+            Definition von Knoten in der Konfiguration. Beide verwenden Attribute. Da die
+            <emphasis>extends</emphasis> und <emphasis>value</emphasis> Attribute reservierte
+            Schlüsselwörter sind (das letztere durch den zweiten Weg der Verwendung von
+            Attributen), können sie nicht verwendet werden. Der erste Weg Attribute zu
+            verwenden ist das hinzufügen von Attributen zum Elternknoten, welcher dann in einen
+            Kindknoten dieses Knotens übersetzt wird:
+        </para>
+
+        <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <configdata>
     <production webhost="www.example.com">
@@ -160,17 +118,13 @@ echo $config->database->params->dbname; // ausgabe "dbname"
 </configdata>
 ]]></programlisting>
 
-		<para>
-			Der andere Weg verkürzt die Konfiguration nicht wirklich, macht es
-			aber einfacher in der
-			Handhabung das der Tag-Name nicht zweimal geschrieben werden muß. Man erstellt
-			einfach
-			einen leeren Tag, welcher seinen Wert im
-			<emphasis>value</emphasis>
-			Attribut enthält:
-		</para>
+        <para>
+            Der andere Weg verkürzt die Konfiguration nicht wirklich, macht es aber einfacher in der
+            Handhabung das der Tag-Name nicht zweimal geschrieben werden muß. Man erstellt einfach
+            einen leeren Tag, welcher seinen Wert im <emphasis>value</emphasis> Attribut enthält:
+        </para>
 
-		<programlisting language="xml"><![CDATA[
+        <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <configdata>
     <production>
@@ -196,24 +150,19 @@ echo $config->database->params->dbname; // ausgabe "dbname"
     </staging>
 </configdata>
 ]]></programlisting>
-	</example>
+    </example>
 
-	<note>
-		<title>XML Strings</title>
+    <note>
+        <title>XML Strings</title>
 
-		<para>
-			<classname>Zend_Config_Xml</classname>
-			ist dazu in der Lage
-			<acronym>XML</acronym>
-			Strings direkt zu laden, wie z.B. deren Empfang von einer Datenbank.
-			Der String wird
-			als erster Parameter an den Konstruktor übergeben und muß mit den
-			Zeichen
-			<emphasis>'&lt;?xml'</emphasis>
-			beginnen:
-		</para>
+        <para>
+            <classname>Zend_Config_Xml</classname> ist dazu in der Lage <acronym>XML</acronym>
+            Strings direkt zu laden, wie z.B. deren Empfang von einer Datenbank. Der String wird
+            als erster Parameter an den Konstruktor übergeben und muß mit den Zeichen
+            <emphasis>'&lt;?xml'</emphasis> beginnen:
+        </para>
 
-		<programlisting language="xml"><![CDATA[
+        <programlisting language="xml"><![CDATA[
 $string = <<<EOT
 <?xml version="1.0"?>
 <config>
@@ -237,37 +186,27 @@ EOT;
 
 $config = new Zend_Config_Xml($string, 'staging');
 ]]></programlisting>
-	</note>
-
-	<note>
-		<title>Zend_Config XML Namespace</title>
-
-		<para>
-			<classname>Zend_Config</classname>
-			kommt mit seinem eigenen
-			<acronym>XML</acronym>
-			Namespace, welcher zusätzliche Funktionalität beim Parsing Prozess
-			hinzufügt. Um diese
-			Vorteile zu verwenden, muß ein Namespace mit der Namespace
-			<acronym>URI</acronym>
-			<filename>http://framework.zend.com/xml/zend-config-xml/1.0/</filename>
-			im Root Node der
-			Konfiguration definiert werden.
-		</para>
-
-		<para>
-			Wenn der Namespace aktiviert ist, können
-			<acronym>PHP</acronym>
-			Konstanten in den
-			Konfigurationsdateien verwendet werden. Zusätzlich ist das
-			<emphasis>extends</emphasis>
-			Attribut in den neuen Namespace gewandert und in im
-			<constant>NULL</constant>
-			Namespace
-			nicht mehr erlaubt. Es wird mit Zend Framework 2.0 komplett entfernt.
-		</para>
-
-		<programlisting language="xml"><![CDATA[
+    </note>
+
+    <note>
+        <title>Zend_Config XML Namespace</title>
+
+        <para>
+            <classname>Zend_Config</classname> kommt mit seinem eigenen <acronym>XML</acronym>
+            Namespace, welcher zusätzliche Funktionalität beim Parsing Prozess hinzufügt. Um diese
+            Vorteile zu verwenden, muß ein Namespace mit der Namespace <acronym>URI</acronym>
+            <filename>http://framework.zend.com/xml/zend-config-xml/1.0/</filename> im Root Node der
+            Konfiguration definiert werden.
+        </para>
+
+        <para>
+            Wenn der Namespace aktiviert ist, können <acronym>PHP</acronym> Konstanten in den
+            Konfigurationsdateien verwendet werden. Zusätzlich ist das <emphasis>extends</emphasis>
+            Attribut in den neuen Namespace gewandert und in im <constant>NULL</constant> Namespace
+            nicht mehr erlaubt. Es wird mit Zend Framework 2.0 komplett entfernt.
+        </para>
+
+        <programlisting language="xml"><![CDATA[
 $string = <<<EOT
 <?xml version="1.0"?>
 <config xmlns:zf="http://framework.zend.com/xml/zend-config-xml/1.0/">
@@ -296,5 +235,5 @@ $config = new Zend_Config_Xml($string, 'staging');
 
 echo $config->includePath; // Ausgabe "/var/www/something/library"
 ]]></programlisting>
-	</note>
+    </note>
 </sect1>

+ 216 - 293
documentation/manual/de/module_specs/Zend_Console_Getopt-Configuration.xml

@@ -2,33 +2,28 @@
 <!-- EN-Revision: 20765 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.console.getopt.configuration">
-	<title>Konfigurieren von Zend_Console_Getopt</title>
-
-	<sect2 id="zend.console.getopt.configuration.addrules">
-		<title>Regeln für das Hinzufügen von Optionen</title>
-
-		<para>
-			Man kann mehr Optionsregeln hinzufügen, zusätzlich zu denen die
-			schon im
-			<classname>Zend_Console_Getopt</classname>
-			Constructor definiert wurden,
-			durch Verwendung der
-			<methodname>addRules()</methodname>
-			Methode. Das Argument für
-			<methodname>addRules()</methodname>
-			ist das gleiche wie das erste Argument für den
-			Constructor der Klasse. Es ist entweder eine Zeichenkette im Format der
-			kurzen Syntax wie für das Definieren für Optionen definiert, oder ein
-			assoziatives Array im Format der langen Syntax wie für das Definieren
-			für Optionen definiert. Siehe
-			<link linkend="zend.console.getopt.rules">Definieren von GetOpt Regeln</link>
-			für Details über die Syntax für die Definition von Optionen.
-		</para>
-
-		<example id="zend.console.getopt.configuration.addrules.example">
-			<title>Verwenden von addRules()</title>
-
-			<programlisting language="php"><![CDATA[
+    <title>Konfigurieren von Zend_Console_Getopt</title>
+
+    <sect2 id="zend.console.getopt.configuration.addrules">
+        <title>Regeln für das Hinzufügen von Optionen</title>
+
+        <para>
+            Man kann mehr Optionsregeln hinzufügen, zusätzlich zu denen die
+            schon im <classname>Zend_Console_Getopt</classname> Constructor definiert wurden,
+            durch Verwendung der <methodname>addRules()</methodname> Methode. Das Argument für
+            <methodname>addRules()</methodname> ist das gleiche wie das erste Argument für den
+            Constructor der Klasse. Es ist entweder eine Zeichenkette im Format der
+            kurzen Syntax wie für das Definieren für Optionen definiert, oder ein
+            assoziatives Array im Format der langen Syntax wie für das Definieren
+            für Optionen definiert. Siehe
+            <link linkend="zend.console.getopt.rules">Definieren von GetOpt Regeln</link>
+            für Details über die Syntax für die Definition von Optionen.
+        </para>
+
+        <example id="zend.console.getopt.configuration.addrules.example">
+            <title>Verwenden von addRules()</title>
+
+            <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->addRules(
   array(
@@ -36,40 +31,33 @@ $opts->addRules(
   )
 );
 ]]></programlisting>
-		</example>
-
-		<para>
-			Das obige Beispiel zeigt das hinzufügen der
-			<command>--verbose</command>
-			Option mit einem Alias von
-			<command>-v</command>
-			zu einem Set von Optionen
-			welche bereits im Aufruf durch den Constructor definiert wurden.
-			Man kann kurze Format Optionen und lange Format Optionen in der
-			gleichen Instanz von
-			<classname>Zend_Console_Getopt</classname>
-			vermischen.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.console.getopt.configuration.addhelp">
-		<title>Hilfstexte hinzufügen</title>
-
-		<para>
-			Zusätzlich zum Definieren von Hilfstexten bei der Definition
-			von Optionsregeln im langen Format, können Hilfstexte
-			mit Optionsregeln verknüpft werden durch Verwendung der
-			<methodname>setHelp()</methodname>
-			Methode. Das Argument für die
-			<methodname>setHelp()</methodname>
-			Methode ist ein assoziatives Array, in welchen der
-			Schlüssel ein Flag ist, und der Wert der betreffende Hilfetext.
-		</para>
-
-		<example id="zend.console.getopt.configuration.addhelp.example">
-			<title>Verwenden von setHelp()</title>
-
-			<programlisting language="php"><![CDATA[
+        </example>
+
+        <para>
+            Das obige Beispiel zeigt das hinzufügen der <command>--verbose</command>
+            Option mit einem Alias von <command>-v</command> zu einem Set von Optionen
+            welche bereits im Aufruf durch den Constructor definiert wurden.
+            Man kann kurze Format Optionen und lange Format Optionen in der
+            gleichen Instanz von <classname>Zend_Console_Getopt</classname> vermischen.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.console.getopt.configuration.addhelp">
+        <title>Hilfstexte hinzufügen</title>
+
+        <para>
+            Zusätzlich zum Definieren von Hilfstexten bei der Definition
+            von Optionsregeln im langen Format, können Hilfstexte
+            mit Optionsregeln verknüpft werden durch Verwendung der
+            <methodname>setHelp()</methodname> Methode. Das Argument für die
+            <methodname>setHelp()</methodname> Methode ist ein assoziatives Array, in welchen der
+            Schlüssel ein Flag ist, und der Wert der betreffende Hilfetext.
+        </para>
+
+        <example id="zend.console.getopt.configuration.addhelp.example">
+            <title>Verwenden von setHelp()</title>
+
+            <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setHelp(
     array(
@@ -79,49 +67,41 @@ $opts->setHelp(
     )
 );
 ]]></programlisting>
-		</example>
+        </example>
 
-		<para>
-			Wenn Optionen mit Aliasen definiert wurden, kann jeder dieser Aliase
-			als Schlüssel für das assizoative Array verwendet werden.
+        <para>
+            Wenn Optionen mit Aliasen definiert wurden, kann jeder dieser Aliase
+            als Schlüssel für das assizoative Array verwendet werden.
         </para>
 
-		<para>
-			Die
-			<methodname>setHelp()</methodname>
-			Methode ist der einzige Weg um einen
-			Hilfetext zu definieren wenn die Optionen mit der kurzen Syntax definiert
-			wurden.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.console.getopt.configuration.addaliases">
-		<title>Aliase für Optionen hinzufügen</title>
-
-		<para>
-			Aliase für Optionen können mit der
-			<methodname>setAliases()</methodname>
-			Methode
-			definiert werden. Das Argument ist ein assoziatives Array, dessen
-			Schlüssel ein zuvor definiertes Flag, und dessen Wert ein neuer
-			Alias für dieses Flag ist. Diese Aliase werden mit jedem existierenden
-			Alias für dieses Flag gemischt. Mit anderen Worten, die zuvor
-			definierten
-			Aliase sind noch immer in Verwendung.
-		</para>
-
-		<para>
-			Ein Alias kann nur einmal definiert werden. Wenn versucht wird einen
-			Alias nochmals zu
-			definieren wird eine
-			<classname>Zend_Console_Getopt_Exception</classname>
-			geworfen.
-		</para>
-
-		<example id="zend.console.getopt.configuration.addaliases.example">
-			<title>Verwenden von setAliases()</title>
-
-			<programlisting language="php"><![CDATA[
+        <para>
+            Die <methodname>setHelp()</methodname> Methode ist der einzige Weg um einen
+            Hilfetext zu definieren wenn die Optionen mit der kurzen Syntax definiert
+            wurden.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.console.getopt.configuration.addaliases">
+        <title>Aliase für Optionen hinzufügen</title>
+
+        <para>
+            Aliase für Optionen können mit der <methodname>setAliases()</methodname> Methode
+            definiert werden. Das Argument ist ein assoziatives Array, dessen
+            Schlüssel ein zuvor definiertes Flag, und dessen Wert ein neuer
+            Alias für dieses Flag ist. Diese Aliase werden mit jedem existierenden
+            Alias für dieses Flag gemischt. Mit anderen Worten, die zuvor definierten
+            Aliase sind noch immer in Verwendung.
+        </para>
+
+        <para>
+            Ein Alias kann nur einmal definiert werden. Wenn versucht wird einen Alias nochmals zu
+            definieren wird eine <classname>Zend_Console_Getopt_Exception</classname> geworfen.
+        </para>
+
+        <example id="zend.console.getopt.configuration.addaliases.example">
+            <title>Verwenden von setAliases()</title>
+
+            <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setAliases(
     array(
@@ -131,60 +111,42 @@ $opts->setAliases(
     )
 );
 ]]></programlisting>
-		</example>
-
-		<para>
-			Im obigen Beispiel sind, nach Definition der Aliase,
-			<command>-a</command>
-			,
-			<command>--apple</command>
-			und
-			<command>--apfel</command>
-			Aliase füreinander.
-			Auch
-			<command>-p</command>
-			und
-			<command>--pfirsich</command>
-			sind füreinander
-			Aliase.
-		</para>
-
-		<para>
-			Die
-			<methodname>setAliases()</methodname>
-			Methode ist der einzige Weg um Aliase
-			zu definieren wenn die Optionen mit der kurzen Syntax definiert wurden.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.console.getopt.configuration.addargs">
-		<title>Argument Listen hinzufügen</title>
-
-		<para>
-			Standardmäßig verwendet
-			<classname>Zend_Console_Getopt</classname>
-			<varname>$_SERVER['argv']</varname>
-			für die Analyse des Arrays von
-			Kommandozeilen Argumenten. Alternativ kann das Array mit Argumenten
-			als zweites Argument dem Constructor angegeben werden. Letztendlich
-			können zusätzliche Argumente zu den bereits in Verwendung
-			befindlichen
-			hinzugefügt werden, durch Verwendung der
-			<methodname>addArguments()</methodname>
-			Methode, oder es kann das aktuelle Array von Argumenten
-			ersetzt werden mit Hilfe der
-			<methodname>setArguments()</methodname>
-			Methode.
-			In beiden Fällen ist der Parameter für diese Methoden ein einfaches
-			Array von Zeichenketten, und die letztere Methode substituiert das
-			Array für
-			seine aktuellen Argumente.
-		</para>
-
-		<example id="zend.console.getopt.configuration.addargs.example">
-			<title>Verwenden von addArguments() und setArguments()</title>
-
-			<programlisting language="php"><![CDATA[
+        </example>
+
+        <para>
+            Im obigen Beispiel sind, nach Definition der Aliase, <command>-a</command>,
+            <command>--apple</command> und <command>--apfel</command> Aliase füreinander.
+            Auch <command>-p</command> und <command>--pfirsich</command> sind füreinander
+            Aliase.
+        </para>
+
+        <para>
+            Die <methodname>setAliases()</methodname> Methode ist der einzige Weg um Aliase
+            zu definieren wenn die Optionen mit der kurzen Syntax definiert wurden.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.console.getopt.configuration.addargs">
+        <title>Argument Listen hinzufügen</title>
+
+        <para>
+            Standardmäßig verwendet <classname>Zend_Console_Getopt</classname>
+            <varname>$_SERVER['argv']</varname> für die Analyse des Arrays von
+            Kommandozeilen Argumenten. Alternativ kann das Array mit Argumenten
+            als zweites Argument dem Constructor angegeben werden. Letztendlich
+            können zusätzliche Argumente zu den bereits in Verwendung befindlichen
+            hinzugefügt werden, durch Verwendung der <methodname>addArguments()</methodname>
+            Methode, oder es kann das aktuelle Array von Argumenten
+            ersetzt werden mit Hilfe der <methodname>setArguments()</methodname> Methode.
+            In beiden Fällen ist der Parameter für diese Methoden ein einfaches
+            Array von Zeichenketten, und die letztere Methode substituiert das Array für
+            seine aktuellen Argumente.
+        </para>
+
+        <example id="zend.console.getopt.configuration.addargs.example">
+            <title>Verwenden von addArguments() und setArguments()</title>
+
+            <programlisting language="php"><![CDATA[
 // Normalerweise verwendet der Constructor $_SERVER['argv']
 $opts = new Zend_Console_Getopt('abp:');
 
@@ -194,151 +156,112 @@ $opts->addArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
 // Ein neues Array als Ersatz für die bestehenden Argumente
 $opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
 ]]></programlisting>
-		</example>
-	</sect2>
-
-	<sect2 id="zend.console.getopt.configuration.config">
-		<title>Konfiguration hinzufügen</title>
-
-		<para>
-			Der dritte Parameter des
-			<classname>Zend_Console_Getopt</classname>
-			Constructors
-			ist ein Array von Optionen zur Konfiguration welche das Verhalten der
-			zurückgegebenen Objektinstanz beeinflusst. Es können auch durch
-			Verwendung
-			der
-			<methodname>setOptions()</methodname>
-			Optionen für die Konfiguration definiert
-			werden, oder es können auch individuelle Optionen mit der
-			<methodname>setOption()</methodname>
-			Methode verwendet werden.
-		</para>
-
-		<note>
-			<title>Klarstellung des Ausdrucks "Option"</title>
-
-			<para>
-				Der Ausdruck "Option" wird für die Konfiguration der
-				<classname>Zend_Console_Getopt</classname>
-				Klasse verwendet um der Terminologie zu
-				folgen die überall im Zend Framework benutzt wird. Das ist nicht das selbe
-				wie die
-				Kommandozeilen Optionen die von der
-				<classname>Zend_Console_Getopt</classname>
-				Klasse analysiert werden.
-			</para>
-		</note>
-
-		<para>
-			Die aktuell unterstützten Optionen sind durch Konstanten in der Klasse
-			definiert.
-			Diese Optionen, bzw deren konstanter Bezeichner (mit wörtlichem Wert in
-			Großschreibweise) sind anbei gelistet:
+        </example>
+    </sect2>
+
+    <sect2 id="zend.console.getopt.configuration.config">
+        <title>Konfiguration hinzufügen</title>
+
+        <para>
+            Der dritte Parameter des <classname>Zend_Console_Getopt</classname> Constructors
+            ist ein Array von Optionen zur Konfiguration welche das Verhalten der
+            zurückgegebenen Objektinstanz beeinflusst. Es können auch durch Verwendung
+            der <methodname>setOptions()</methodname> Optionen für die Konfiguration definiert
+            werden, oder es können auch individuelle Optionen mit der
+            <methodname>setOption()</methodname> Methode verwendet werden.
         </para>
 
-		<itemizedlist>
-			<listitem>
-				<para>
-					<constant>Zend_Console_Getopt::CONFIG_DASHDASH</constant>
-					("dashDash"),
-					wenn es
-					<constant>TRUE</constant>
-					ist, ermöglicht dieses spezielle Flag
-					<command>--</command>
-					das Ende von Flags zu signieren. Kommendozeilen Argumente
-					welche dem Doppel-Bindestrich Zeichen folgen werden nicht als Option
-					interpretiert selbst wenn das Argument mit einem Bindestrich
-					beginnt.
-					Diese Konfigurationsoption ist standardmäßig
-					<constant>TRUE</constant>
-					.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<constant>Zend_Console_Getopt::CONFIG_IGNORECASE</constant>
-					("ignoreCase"),
-					wenn es
-					<constant>TRUE</constant>
-					ist, werden Flags als Aliase voneinander
-					betrachtet wenn Sie sich nur in der Groß- oder Kleinschreibung unterscheiden.
-					Das bedeutet das
-					<command>-a</command>
-					und
-					<command>-A</command>
-					als
-					gleiche Flags angesehen werden. Diese Konfigurationsoption ist
-					standardmäßig
-					<constant>FALSE</constant>
-					.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					<constant>Zend_Console_Getopt::CONFIG_RULEMODE</constant>
-					("ruleMode") kann
-					die Werte
-					<constant>Zend_Console_Getopt::MODE_ZEND</constant>
-					("zend") und
-					<constant>Zend_Console_Getopt::MODE_GNU</constant>
-					("gnu") haben. Diese Option
-					sollte nicht verwendet werden ausser die Klasse wird erweiter um
-					zusätzliche
-					Syntax Formen zu unterstützen. Die zwei Modi die in der Basisklasse
-					<classname>Zend_Console_Getopt</classname>
-					unterstützt werden sind
-					eindeutig. Wenn die Angabe eine Zeichenkette ist, nimmt die Klasse
-					<constant>MODE_GNU</constant>
-					an, sonst wird
-					<constant>MODE_ZEND</constant>
-					angenommen. Aber wenn die Klasse erweitert wird, und zusätzliche
-					Syntaxformen
-					hinzugefügt werden, kann der Modus durch Verwendung dieser Option definiert
-					werden.
-				</para>
-			</listitem>
-		</itemizedlist>
-
-		<para>
-			Zusätzliche Konfigurationsoptionen können in zukünftigen Versionen dieser
-			Klasse hinzugefügt werden.
+        <note>
+            <title>Klarstellung des Ausdrucks "Option"</title>
+
+            <para>
+                Der Ausdruck "Option" wird für die Konfiguration der
+                <classname>Zend_Console_Getopt</classname> Klasse verwendet um der Terminologie zu
+                folgen die überall im Zend Framework benutzt wird. Das ist nicht das selbe wie die
+                Kommandozeilen Optionen die von der <classname>Zend_Console_Getopt</classname>
+                Klasse analysiert werden.
+            </para>
+        </note>
+
+        <para>
+            Die aktuell unterstützten Optionen sind durch Konstanten in der Klasse definiert.
+            Diese Optionen, bzw deren konstanter Bezeichner (mit wörtlichem Wert in
+            Großschreibweise) sind anbei gelistet:
         </para>
 
-		<para>
-			Die zwei Argumente der
-			<methodname>setOption()</methodname>
-			Methode sind ein Name einer
-			Konfigurationsoption und ein Wert für die Option.
-		</para>
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <constant>Zend_Console_Getopt::CONFIG_DASHDASH</constant> ("dashDash"),
+                    wenn es <constant>TRUE</constant> ist, ermöglicht dieses spezielle Flag
+                    <command>--</command> das Ende von Flags zu signieren. Kommendozeilen Argumente
+                    welche dem Doppel-Bindestrich Zeichen folgen werden nicht als Option
+                    interpretiert selbst wenn das Argument mit einem Bindestrich beginnt.
+                    Diese Konfigurationsoption ist standardmäßig <constant>TRUE</constant>.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <constant>Zend_Console_Getopt::CONFIG_IGNORECASE</constant> ("ignoreCase"),
+                    wenn es <constant>TRUE</constant> ist, werden Flags als Aliase voneinander
+                    betrachtet wenn Sie sich nur in der Groß- oder Kleinschreibung unterscheiden.
+                    Das bedeutet das <command>-a</command> und <command>-A</command> als
+                    gleiche Flags angesehen werden. Diese Konfigurationsoption ist
+                    standardmäßig <constant>FALSE</constant>.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <constant>Zend_Console_Getopt::CONFIG_RULEMODE</constant> ("ruleMode") kann
+                    die Werte <constant>Zend_Console_Getopt::MODE_ZEND</constant> ("zend") und
+                    <constant>Zend_Console_Getopt::MODE_GNU</constant> ("gnu") haben. Diese Option
+                    sollte nicht verwendet werden ausser die Klasse wird erweiter um zusätzliche
+                    Syntax Formen zu unterstützen. Die zwei Modi die in der Basisklasse
+                    <classname>Zend_Console_Getopt</classname> unterstützt werden sind
+                    eindeutig. Wenn die Angabe eine Zeichenkette ist, nimmt die Klasse
+                    <constant>MODE_GNU</constant> an, sonst wird <constant>MODE_ZEND</constant>
+                    angenommen. Aber wenn die Klasse erweitert wird, und zusätzliche Syntaxformen
+                    hinzugefügt werden, kann der Modus durch Verwendung dieser Option definiert
+                    werden.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Zusätzliche Konfigurationsoptionen können in zukünftigen Versionen dieser
+            Klasse hinzugefügt werden.
+        </para>
+
+        <para>
+            Die zwei Argumente der <methodname>setOption()</methodname> Methode sind ein Name einer
+            Konfigurationsoption und ein Wert für die Option.
+        </para>
 
-		<example id="zend.console.getopt.configuration.config.example.setoption">
-			<title>Verwenden von setOption()</title>
+        <example id="zend.console.getopt.configuration.config.example.setoption">
+            <title>Verwenden von setOption()</title>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setOption('ignoreCase', true);
 ]]></programlisting>
-		</example>
-
-		<para>
-			Das Argument für die
-			<methodname>setOptions()</methodname>
-			Methode ist ein
-			assoziatives Array. Die Schlüssel dieses Arrays sind die Namen der
-			Konfigurationsoptionen, und die Werte sind die Konfigurationswerte.
-			Das ist also das Array Format welches auch im Constructor der Klasse
-			verwendet wird. Die definierten Konfigurationswerte werden mit der
-			aktuellen Konfiguration zusammengefügt; es müssen also nicht alle
-			Optionen angegeben werden.
-		</para>
-
-		<example id="zend.console.getopt.configuration.config.example.setoptions">
-			<title>Verwenden von setOptions()</title>
-
-			<programlisting language="php"><![CDATA[
+        </example>
+
+        <para>
+            Das Argument für die <methodname>setOptions()</methodname> Methode ist ein
+            assoziatives Array. Die Schlüssel dieses Arrays sind die Namen der
+            Konfigurationsoptionen, und die Werte sind die Konfigurationswerte.
+            Das ist also das Array Format welches auch im Constructor der Klasse
+            verwendet wird. Die definierten Konfigurationswerte werden mit der
+            aktuellen Konfiguration zusammengefügt; es müssen also nicht alle
+            Optionen angegeben werden.
+        </para>
+
+        <example id="zend.console.getopt.configuration.config.example.setoptions">
+            <title>Verwenden von setOptions()</title>
+
+            <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setOptions(
     array(
@@ -347,6 +270,6 @@ $opts->setOptions(
     )
 );
 ]]></programlisting>
-		</example>
-	</sect2>
+        </example>
+    </sect2>
 </sect1>

+ 158 - 209
documentation/manual/de/module_specs/Zend_Console_Getopt-Fetching.xml

@@ -2,59 +2,47 @@
 <!-- EN-Revision: 20765 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.console.getopt.fetching">
-	<title>Holen von Optionen und Argumenten</title>
-
-	<para>
-		Nach dem Erstellen der Optionen welche das
-		<classname>Zend_Console_Getopt</classname>
-		Objekt erkennen sollte, und der Übergabe von Argumenten von der
-		Kommandozeile oder einem Array, kann das Objekt abgefragt werden um
-		herauszufinden welche Optionen durch den Benutzer mit einem gegebenen
-		Kommandozeilena Aufruf des Programms angegeben wurden. Die Klasse
-		implementiert magische Methoden damit Optionen anhand Ihres Namens
-		abgefragt werden können.
-	</para>
-
-	<para>
-		Das Analysieren der Daten wird verzögert, bis zur ersten Abfrage die
-		am
-		<classname>Zend_Console_Getopt</classname>
-		Objekt durchgeführt wird um herauszufinden
-		ob eine Option angegeben wurde. Das erlaubt die Anwendung einiger
-		Methodenaufrufe zur Konfiguration der Optionen, Argumente, Hilfstexte
-		und
-		Konfigurationsoptionen bevor das Analysieren durchgeführt wird.
-	</para>
-
-	<sect2 id="zend.console.getopt.fetching.exceptions">
-		<title>Handhaben von Getopt Ausnahmen</title>
-
-		<para>
-			Wenn ein Benutzer irgendeine ungültige Option auf der Kommandozeile
-			angibt, wirft die analysierende Funktion eine
-			<classname>Zend_Console_Getopt_Exception</classname>
-			. Diese Ausnahme kann im
-			Code der Anwendung abgefangen werden. Die
-			<methodname>parse()</methodname>
-			Methode
-			kann verwendet werden um das Objekt dazu zu zwingen die Argumente zu
-			analysieren. Das ist deswegen nützlich weil
-			<methodname>parse()</methodname>
-			in
-			einen
-			<emphasis>try</emphasis>
-			Block eingebettet werden kann. Wenn es erfolgreich
-			ist, kann man sicher sein das die Analyse keine weiteren Ausnahmen werfen
-			wird. Die geworfene Ausnahme hat eine eigene Methode
-			<methodname>getUsageMessage()</methodname>
-			, welche die formatierten Hinweise für die
-			Verwendung aller definierten Optionen zurückgibt.
-		</para>
+    <title>Holen von Optionen und Argumenten</title>
+
+    <para>
+        Nach dem Erstellen der Optionen welche das <classname>Zend_Console_Getopt</classname>
+        Objekt erkennen sollte, und der Übergabe von Argumenten von der
+        Kommandozeile oder einem Array, kann das Objekt abgefragt werden um
+        herauszufinden welche Optionen durch den Benutzer mit einem gegebenen
+        Kommandozeilena Aufruf des Programms angegeben wurden. Die Klasse
+        implementiert magische Methoden damit Optionen anhand Ihres Namens
+        abgefragt werden können.
+    </para>
+
+    <para>
+        Das Analysieren der Daten wird verzögert, bis zur ersten Abfrage die am
+        <classname>Zend_Console_Getopt</classname> Objekt durchgeführt wird um herauszufinden
+        ob eine Option angegeben wurde. Das erlaubt die Anwendung einiger
+        Methodenaufrufe zur Konfiguration der Optionen, Argumente, Hilfstexte und
+        Konfigurationsoptionen bevor das Analysieren durchgeführt wird.
+    </para>
+
+    <sect2 id="zend.console.getopt.fetching.exceptions">
+        <title>Handhaben von Getopt Ausnahmen</title>
+
+        <para>
+            Wenn ein Benutzer irgendeine ungültige Option auf der Kommandozeile
+            angibt, wirft die analysierende Funktion eine
+            <classname>Zend_Console_Getopt_Exception</classname>. Diese Ausnahme kann im
+            Code der Anwendung abgefangen werden. Die <methodname>parse()</methodname> Methode
+            kann verwendet werden um das Objekt dazu zu zwingen die Argumente zu
+            analysieren. Das ist deswegen nützlich weil <methodname>parse()</methodname> in
+            einen <emphasis>try</emphasis> Block eingebettet werden kann. Wenn es erfolgreich
+            ist, kann man sicher sein das die Analyse keine weiteren Ausnahmen werfen
+            wird. Die geworfene Ausnahme hat eine eigene Methode
+            <methodname>getUsageMessage()</methodname>, welche die formatierten Hinweise für die
+            Verwendung aller definierten Optionen zurückgibt.
+        </para>
 
-		<example id="zend.console.getopt.fetching.exceptions.example">
-			<title>Getopt Ausnahmen auffangen</title>
+        <example id="zend.console.getopt.fetching.exceptions.example">
+            <title>Getopt Ausnahmen auffangen</title>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 try {
     $opts = new Zend_Console_Getopt('abp:');
     $opts->parse();
@@ -63,201 +51,162 @@ try {
     exit;
 }
 ]]></programlisting>
-		</example>
+        </example>
 
-		<para>
-			Die Fälle in denen die Analyse eine Ausnahme werden sind unter anderem:
+        <para>
+            Die Fälle in denen die Analyse eine Ausnahme werden sind unter anderem:
         </para>
 
-		<itemizedlist>
-			<listitem>
-				<para>
-					Die gegebene Option wird nicht erkannt.
+        <itemizedlist>
+            <listitem>
+                <para>
+                    Die gegebene Option wird nicht erkannt.
                 </para>
-			</listitem>
+            </listitem>
 
-			<listitem>
-				<para>
-					Die Option benötigt einen Parameter, aber es wurde keiner angegeben.
+            <listitem>
+                <para>
+                    Die Option benötigt einen Parameter, aber es wurde keiner angegeben.
                 </para>
-			</listitem>
+            </listitem>
 
-			<listitem>
-				<para>
-					Der Parameter der Option ist vom falschen Typ.
-					Z.B. eine nicht nummerische Zeichenkette obwohl
-					ein Integer benötigt wird.
+            <listitem>
+                <para>
+                    Der Parameter der Option ist vom falschen Typ.
+                    Z.B. eine nicht nummerische Zeichenkette obwohl
+                    ein Integer benötigt wird.
                 </para>
-			</listitem>
-		</itemizedlist>
-	</sect2>
-
-	<sect2 id="zend.console.getopt.fetching.byname">
-		<title>Optionen durch Ihren Namen finden</title>
-
-		<para>
-			Die
-			<methodname>getOption()</methodname>
-			Methode kann verwendet werden um den
-			Wert einer Option abzufragen. Wenn die Option einen Parameter hatte,
-			wird diese Methode den Wert dieses Parameters zurückgeben. Wenn die
-			Option keinen Parameter hatte, aber der Benutzer ihn auf der
-			Kommandozeile definiert hat, gibt die Methode
-			<constant>TRUE</constant>
-			zurück.
-			Andernfalls gibt die Methode
-			<constant>NULL</constant>
-			zurück.
-		</para>
+            </listitem>
+        </itemizedlist>
+    </sect2>
+
+    <sect2 id="zend.console.getopt.fetching.byname">
+        <title>Optionen durch Ihren Namen finden</title>
+
+        <para>
+            Die <methodname>getOption()</methodname> Methode kann verwendet werden um den
+            Wert einer Option abzufragen. Wenn die Option einen Parameter hatte,
+            wird diese Methode den Wert dieses Parameters zurückgeben. Wenn die
+            Option keinen Parameter hatte, aber der Benutzer ihn auf der
+            Kommandozeile definiert hat, gibt die Methode <constant>TRUE</constant> zurück.
+            Andernfalls gibt die Methode <constant>NULL</constant> zurück.
+        </para>
 
-		<example id="zend.console.getopt.fetching.byname.example.setoption">
-			<title>Verwenden von getOption()</title>
+        <example id="zend.console.getopt.fetching.byname.example.setoption">
+            <title>Verwenden von getOption()</title>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $b = $opts->getOption('b');
 $p_parameter = $opts->getOption('p');
 ]]></programlisting>
-		</example>
+        </example>
 
-		<para>
-			Alternativ kann die magische
-			<methodname>__get()</methodname>
-			Funktion verwendet
-			werden um der Wert einer Option zu erhalten wie wenn dieser eine
-			Variable der Klasse wäre. Die magische
-			<methodname>__isset()</methodname>
-			Methode
-			ist auch implementiert.
-		</para>
+        <para>
+            Alternativ kann die magische <methodname>__get()</methodname> Funktion verwendet
+            werden um der Wert einer Option zu erhalten wie wenn dieser eine
+            Variable der Klasse wäre. Die magische <methodname>__isset()</methodname> Methode
+            ist auch implementiert.
+        </para>
 
-		<example id="zend.console.getopt.fetching.byname.example.magic">
-			<title>Verwenden der magischen __get() und __isset() Methoden</title>
+        <example id="zend.console.getopt.fetching.byname.example.magic">
+            <title>Verwenden der magischen __get() und __isset() Methoden</title>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 if (isset($opts->b)) {
     echo "Die Option b ist da.\n";
 }
 $p_parameter = $opts->p; // Null wenn nicht gesetzt
 ]]></programlisting>
-		</example>
+        </example>
 
-		<para>
-			Wenn die Optionen mit Aliasen definiert wurden, kann jeder der Aliase für
-			eine Option in den obigen Methoden verwendet werden.
+        <para>
+            Wenn die Optionen mit Aliasen definiert wurden, kann jeder der Aliase für
+            eine Option in den obigen Methoden verwendet werden.
         </para>
-	</sect2>
+    </sect2>
 
-	<sect2 id="zend.console.getopt.fetching.reporting">
-		<title>Optionen berichten</title>
+    <sect2 id="zend.console.getopt.fetching.reporting">
+        <title>Optionen berichten</title>
 
-		<para>
-			Es gibt einige Methoden um das komplette Set an Optionen
-			welches ein Benutzer an der Kommandozeile angegeben hat zu berichten.
+        <para>
+            Es gibt einige Methoden um das komplette Set an Optionen
+            welches ein Benutzer an der Kommandozeile angegeben hat zu berichten.
         </para>
 
-		<itemizedlist>
-			<listitem>
-				<para>
-					Als Zeichenkette: verwenden der
-					<methodname>toString()</methodname>
-					Methode.
-					Die Optionen werden als Leerzeichen-getrennte Zeichenkette von
-					<command>Flag=Wert</command>
-					Paaren zurückgegeben. Der Wert einer Option
-					welche keinen Parameter hat, ist die wörtliche Zeichenkette
-					"
-					<constant>TRUE</constant>
-					".
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Als Array: verwenden der
-					<methodname>toArray()</methodname>
-					Methode. Die
-					Optionen werden in einem einfachen Integer-Indizierten Array von
-					Zeichenketten
-					zurückgegeben, die Flag-Zeichenketten gefolgt von den
-					Parameter-Zeichenketten, wenn vorhanden.
-				</para>
-			</listitem>
-
-			<listitem>
-				<para>
-					Als Zeichenkette welche
-					<acronym>JSON</acronym>
-					Daten enthält: verwenden der
-					<methodname>toJson()</methodname>
-					Methode.
-				</para>
-			</listitem>
+        <itemizedlist>
+            <listitem>
+                <para>
+                    Als Zeichenkette: verwenden der <methodname>toString()</methodname> Methode.
+                    Die Optionen werden als Leerzeichen-getrennte Zeichenkette von
+                    <command>Flag=Wert</command> Paaren zurückgegeben. Der Wert einer Option
+                    welche keinen Parameter hat, ist die wörtliche Zeichenkette
+                    "<constant>TRUE</constant>".
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Als Array: verwenden der <methodname>toArray()</methodname> Methode. Die
+                    Optionen werden in einem einfachen Integer-Indizierten Array von Zeichenketten
+                    zurückgegeben, die Flag-Zeichenketten gefolgt von den
+                    Parameter-Zeichenketten, wenn vorhanden.
+                </para>
+            </listitem>
 
-			<listitem>
-				<para>
-					Als Zeichenkette welche
-					<acronym>XML</acronym>
-					Daten enthält: verwenden der
-					<methodname>toXml()</methodname>
-					Methode.
-				</para>
-			</listitem>
-		</itemizedlist>
+            <listitem>
+                <para>
+                    Als Zeichenkette welche <acronym>JSON</acronym> Daten enthält: verwenden der
+                    <methodname>toJson()</methodname> Methode.
+                </para>
+            </listitem>
 
-		<para>
-			In allen obigen Auflistungsmethoden, ist die Flag-Zeichenkette die
-			erste Zeichenkette
-			in der entsprechenden Liste von Aliasen. Wenn zum Beispiel die Aliase
-			der Option als
-			<command>verbose|v</command>
-			definiert sind, wird die erste Zeichenkette
-			<command>verbose</command>
-			als kanonischer Name der Option verwendet. Der Name des
-			Optionsflags enthält nicht die vorangestellten Bindestriche.
-		</para>
-	</sect2>
+            <listitem>
+                <para>
+                    Als Zeichenkette welche <acronym>XML</acronym> Daten enthält: verwenden der
+                    <methodname>toXml()</methodname> Methode.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            In allen obigen Auflistungsmethoden, ist die Flag-Zeichenkette die erste Zeichenkette
+            in der entsprechenden Liste von Aliasen. Wenn zum Beispiel die Aliase der Option als
+            <command>verbose|v</command> definiert sind, wird die erste Zeichenkette
+            <command>verbose</command> als kanonischer Name der Option verwendet. Der Name des
+            Optionsflags enthält nicht die vorangestellten Bindestriche.
+        </para>
+    </sect2>
 
-	<sect2 id="zend.console.getopt.fetching.remainingargs">
-		<title>Nicht-Options Argumente erhalten</title>
+    <sect2 id="zend.console.getopt.fetching.remainingargs">
+        <title>Nicht-Options Argumente erhalten</title>
 
-		<para>
-			Nachdem die Argumente der Option und deren Parameter von der
-			Kommandozeile analysiert
-			wurden, können zusätzliche Argumente zurück bleiben. Diese Argumente können
-			abgefragt
-			werden durch Verwendung der
-			<methodname>getRemainingArgs()</methodname>
-			Methode. Diese
-			Methode gibt ein Array von Zeichenketten zurück welche nicht Teil
-			irgendeiner Option
-			waren.
-		</para>
+        <para>
+            Nachdem die Argumente der Option und deren Parameter von der Kommandozeile analysiert
+            wurden, können zusätzliche Argumente zurück bleiben. Diese Argumente können abgefragt
+            werden durch Verwendung der <methodname>getRemainingArgs()</methodname> Methode. Diese
+            Methode gibt ein Array von Zeichenketten zurück welche nicht Teil irgendeiner Option
+            waren.
+        </para>
 
-		<example id="zend.console.getopt.fetching.remainingargs.example">
-			<title>Verwenden von getRemainingArgs()</title>
+        <example id="zend.console.getopt.fetching.remainingargs.example">
+            <title>Verwenden von getRemainingArgs()</title>
 
-			<programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setArguments(array('-p', 'p_parameter', 'filename'));
 $args = $opts->getRemainingArgs(); // Rückgabe array('filename')
 ]]></programlisting>
-		</example>
-
-		<para>
-			<classname>Zend_Console_Getopt</classname>
-			unterstützt die
-			<acronym>GNU</acronym>
-			Konvention das ein Argument welches auf einem Doppelten Bindestrich
-			besteht das Ende
-			der Optionen bezeichnet. Jedes Argument welches diesem Bezeichner folgt,
-			muß als
-			Nicht-Options-Argument behandelt werden. Das ist nützlich wenn ein
-			Nicht-Options-Argument vorhanden ist welches mit einem Bindestrich anfängt. Zum
-			Beispiel: "
-			<command>rm -- -filename-with-dash</command>
-			".
-		</para>
-	</sect2>
+        </example>
+
+        <para>
+            <classname>Zend_Console_Getopt</classname> unterstützt die <acronym>GNU</acronym>
+            Konvention das ein Argument welches auf einem Doppelten Bindestrich besteht das Ende
+            der Optionen bezeichnet. Jedes Argument welches diesem Bezeichner folgt, muß als
+            Nicht-Options-Argument behandelt werden. Das ist nützlich wenn ein
+            Nicht-Options-Argument vorhanden ist welches mit einem Bindestrich anfängt. Zum
+            Beispiel: "<command>rm -- -filename-with-dash</command>".
+        </para>
+    </sect2>
 </sect1>

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor