Browse Source

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@24248 44c647ce-9c0f-0410-b52a-842ac1e357ba

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

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

@@ -1,91 +1,94 @@
 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;
+}

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

@@ -1,202 +1,276 @@
 <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>.
+					</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")
         </para>
-        <para>
-            احترس: مع هذا الـ backend الـ tags غير مدعومة الى الأن .
-(لأن "doNotTestCacheValidity=true")
+		<para>
+			الـ options المتوفرة :
         </para>
-        <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.
+		<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: -->

File diff suppressed because it is too large
+ 730 - 513
documentation/manual/ar/module_specs/Zend_Cache-Frontends.xml


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

@@ -1,33 +1,61 @@
 <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(
@@ -43,14 +71,18 @@ $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
 
@@ -75,19 +107,32 @@ 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
@@ -110,24 +155,36 @@ 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: -->

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

@@ -1,36 +1,62 @@
 <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>).
+	<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 .
+
     </para>
-    <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
+	</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';
@@ -52,47 +78,61 @@ $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);
@@ -100,30 +140,37 @@ $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: -->

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

@@ -1,25 +1,46 @@
 <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',
@@ -45,12 +66,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: -->

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

@@ -1,54 +1,93 @@
 <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: -->

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

@@ -1,40 +1,73 @@
 <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
@@ -49,19 +82,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: -->

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

@@ -1,39 +1,62 @@
 <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>
@@ -53,19 +76,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: -->

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

@@ -1,19 +1,26 @@
 <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');
@@ -21,15 +28,17 @@
     /* $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)) {
@@ -39,26 +48,24 @@
     }
 
     ?>]]>
-        </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: -->

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

@@ -1,10 +1,15 @@
 <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);
 
@@ -12,6 +17,4 @@ $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: -->

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

@@ -1,17 +1,22 @@
 <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: -->

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

@@ -1,35 +1,46 @@
 <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: -->

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

@@ -1,25 +1,35 @@
 <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: -->

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

@@ -1,41 +1,48 @@
 <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
@@ -56,85 +63,97 @@ $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/');
@@ -144,11 +163,9 @@ $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: -->

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

@@ -1,26 +1,31 @@
 <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>
@@ -43,42 +48,51 @@
     <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();
 
@@ -95,28 +109,29 @@ $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();
 
@@ -138,13 +153,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>
@@ -163,11 +178,9 @@ 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: -->

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

@@ -1,19 +1,24 @@
 <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: -->

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

@@ -1,16 +1,17 @@
 <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'>

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

@@ -1,79 +1,82 @@
 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;
+}

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

@@ -1,49 +1,68 @@
 <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>
+			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>
 
-    </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
+		<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
@@ -59,40 +78,53 @@ 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: -->

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

@@ -1,98 +1,160 @@
 <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>
+		Терминологя за целта на тази документация,
+
+		<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>
 
-    <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"). По този начин програмиста може да назначи
-            правила, които да рефлектират върху всички привилегии или само някои върху Ресурс.
+	<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>
-    </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>
+			Чрез Zend_Acl също е възможно да се назнчат привилегии върху Ресурса
+			(например - "create", "read", "update", "delete"). По този начин
+			програмиста може да назначи
+			правила, които да рефлектират върху всички привилегии или само някои върху
+			Ресурс.
         </para>
-        <para>
-            Във  <code>Zend_Acl</code> Role може да наследи от една или повече Roles. Така се предоставя начин да се поддържа онаследяване ан правила
-            между Roles.
-            Например, нека имаме Role наречена Penka, която от своя страна принадлежи на Role "редактор" и на друга Role - "администратор".
-            Програмиста може да назначи правила, на "редактор" и "администратор" по отделно,а "Penka" от своя стран ще придобие
-            по наследство техните правила без да биват назначавани директно.
+	</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>
-        <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
+		<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();
 
@@ -111,116 +173,165 @@ $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>".
+			</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>
+				Когато се декларират множество родители за една роля, трябв да се има в
+				предвид че последния родител
+				е първиа който бива проверяван за прилагане на правилата за
+				оторизация.
             </para>
-        </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:
+		</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();
@@ -244,27 +355,32 @@ $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();
@@ -293,25 +409,32 @@ $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
 
@@ -335,10 +458,8 @@ 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'>

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

@@ -1,79 +1,82 @@
 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;
+}

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

@@ -1,69 +1,101 @@
 <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: -->

+ 14 - 16
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,16 +18,14 @@ 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: -->

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

@@ -1,18 +1,20 @@
 <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: -->

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

@@ -1,28 +1,29 @@
 <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: -->

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

@@ -1,43 +1,49 @@
 <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>
+		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>
-    <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
+	<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: -->

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

@@ -1,49 +1,62 @@
 <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">
@@ -64,13 +77,15 @@
         <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" : [ {
@@ -101,15 +116,14 @@
       }
    ]}
 }  ?>]]>
-    </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: -->

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

@@ -1,21 +1,35 @@
 <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: -->

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

@@ -1,74 +1,79 @@
 <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: -->

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

@@ -1,33 +1,41 @@
 <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: -->

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

@@ -1,16 +1,18 @@
 <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: -->

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

@@ -1,81 +1,116 @@
 <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: -->

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

@@ -1,956 +1,2067 @@
 <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: -->

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

@@ -1,79 +1,82 @@
 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;
+}

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

@@ -2,55 +2,88 @@
 <!-- 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,
@@ -68,36 +101,54 @@ 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>

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

@@ -2,57 +2,79 @@
 <!-- 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.
+	<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.
         </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>
+			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>
 
-        <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[
+		<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
@@ -68,12 +90,15 @@ $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',
@@ -89,11 +114,13 @@ $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
@@ -126,21 +153,30 @@ 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');
@@ -164,13 +200,15 @@ 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');
 
@@ -186,5 +224,5 @@ echo $acl->isAllowed('marketing', 'latest', 'anything') ?
      "allowed" : "denied";
 // erlaubt
 ]]></programlisting>
-    </sect2>
+	</sect2>
 </sect1>

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

@@ -2,130 +2,193 @@
 <!-- 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.
+	<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:
     </para>
 
-    <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[
+	<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'))
@@ -143,132 +206,174 @@ $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>
+				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>
-        </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[
+		</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
@@ -291,35 +396,47 @@ $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');
@@ -347,23 +464,32 @@ $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
@@ -396,5 +522,5 @@ echo $acl->isAllowed('administrator', null, 'update') ?
      "allowed" : "denied";
 // erlaubt, weil Administrator alle Rechte haben
 ]]></programlisting>
-    </sect2>
+	</sect2>
 </sect1>

File diff suppressed because it is too large
+ 531 - 350
documentation/manual/de/module_specs/Zend_Amf-Server.xml


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

@@ -2,25 +2,34 @@
 <!-- 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: -->

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

@@ -2,34 +2,48 @@
 <!-- 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
@@ -40,19 +54,32 @@ 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')
@@ -60,11 +87,16 @@ $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>

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

@@ -2,63 +2,85 @@
 <!-- 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.
+	<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:
     </para>
 
-    <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[
+	<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"
@@ -71,32 +93,36 @@ 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>

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

@@ -2,31 +2,41 @@
 <!-- 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>

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

@@ -2,120 +2,173 @@
 <!-- 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.
+	<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:
     </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:
-    </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[
+	<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"
@@ -135,20 +188,24 @@ 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>

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

@@ -2,26 +2,34 @@
 <!-- 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>

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

@@ -2,154 +2,200 @@
 <!-- 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.
+	<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.
     </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.
-    </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:
+	<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
-                </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.
+		<itemizedlist>
+			<listitem>
+				<para>
+					Der Browser könnte so eingestellt sein das er keine Sprache sendet
                 </para>
-            </listitem>
+			</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.
+			<listitem>
+				<para>
+					Der Benutzer könnte ein Gebietsschema manuell gesetzt haben das gar
+					nicht
+					existiert
                 </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>
+			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.
             </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>

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

@@ -2,25 +2,32 @@
 <!-- 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"
@@ -28,9 +35,10 @@ 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>

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

@@ -2,30 +2,39 @@
 <!-- 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
@@ -38,5 +47,5 @@ resources.mail.defaultFrom.name = "John Doe"
 resources.mail.defaultReplyTo.email = Jane@example.com
 resources.mail.defaultReplyTo.name = "Jane Doe"
 ]]></programlisting>
-    </example>
+	</example>
 </sect2>

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

@@ -2,37 +2,47 @@
 <!-- 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 -->
@@ -41,12 +51,14 @@ 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(),
@@ -54,35 +66,43 @@ $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).
+	<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.
         </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.
-        </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[
+		<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"
@@ -91,7 +111,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>
@@ -112,23 +132,27 @@ 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>

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

@@ -2,25 +2,30 @@
 <!-- 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"
@@ -35,46 +40,64 @@ 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();
 
@@ -82,5 +105,5 @@ $db2 = $resource->getDefaultDb();
 $db1 = $resource->getDefaultDb();
 $null = $resource->getDefaultDb(false); // Null
 ]]></programlisting>
-    </example>
+	</example>
 </sect2>

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

@@ -2,31 +2,41 @@
 <!-- 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"
 
@@ -35,5 +45,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>

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

@@ -2,25 +2,31 @@
 <!-- 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"
@@ -30,9 +36,11 @@ 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>

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

@@ -2,63 +2,79 @@
 <!-- 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
@@ -74,20 +90,31 @@ 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>

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

@@ -2,33 +2,46 @@
 <!-- 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>

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

@@ -2,25 +2,29 @@
 <!-- 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>

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

@@ -2,439 +2,587 @@
 <!-- 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.
+	<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.
                         </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.
-                        </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>
+			</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.
-                        </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.
+	</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>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.
+					</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>
-            </tbody>
-        </tgroup>
-    </table>
+					</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>
 </sect2>

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

@@ -2,66 +2,88 @@
 <!-- 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>

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

@@ -2,389 +2,520 @@
 <!-- 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.
+	<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.
                         </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.
+					</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>
-
-                        <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.
+					</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>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>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.
                         </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.
-                        </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>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>__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.
+					</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>
+
+				<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>
 </sect2>

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

@@ -2,164 +2,211 @@
 <!-- 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.
+	<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.
                         </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.
+					</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>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.
+					</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>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.
+					</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>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>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.
                         </para>
-                    </entry>
-                </row>
-            </tbody>
-        </tgroup>
-    </table>
+					</entry>
+				</row>
+			</tbody>
+		</tgroup>
+	</table>
 </sect2>

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

@@ -1,189 +1,239 @@
 <?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.
+<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.
     </para>
 
-    <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.
+	<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>

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

@@ -2,123 +2,164 @@
 <!-- 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>

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

@@ -2,137 +2,188 @@
 <!-- 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/',
@@ -147,23 +198,27 @@ $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:
@@ -175,25 +230,29 @@ $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';
@@ -205,20 +264,23 @@ 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>

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

@@ -2,18 +2,26 @@
 <!-- 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>

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

@@ -2,24 +2,25 @@
 <!-- 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_"
@@ -32,51 +33,72 @@ 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.
+	<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.
     </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.
-    </para>
-
-    <programlisting language="php"><![CDATA[
+	<programlisting language="php"><![CDATA[
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
     protected function _initRequest()
@@ -100,48 +122,59 @@ 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>
+	<itemizedlist>
+		<listitem>
+			<para>
+				Während der Instanzierung des Objekts
+				<classname>Zend_Application</classname>
+			</para>
+		</listitem>
+
+		<listitem>
+			<para>
+				Während der Initialisierung des Objekts Bootstrap
             </para>
-        </listitem>
+		</listitem>
 
-        <listitem>
-            <para>
-                Während der Initialisierung des Objekts Bootstrap
+		<listitem>
+			<para>
+				Durch explizites Einschalten über Methodenaufrufe auf dem Objekt
+				Bootstrap
             </para>
-        </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[
+		</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
 {
@@ -172,13 +205,15 @@ 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(
@@ -199,12 +234,13 @@ $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
 {
@@ -221,22 +257,24 @@ 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');
 
@@ -245,12 +283,14 @@ $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>

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

@@ -2,12 +2,16 @@
 <!-- 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>

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

@@ -2,53 +2,73 @@
 <!-- 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
@@ -76,25 +96,27 @@ 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
@@ -114,17 +136,22 @@ 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',
@@ -148,63 +175,86 @@ $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
@@ -224,13 +274,16 @@ 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',
@@ -261,15 +314,21 @@ $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
@@ -280,52 +339,65 @@ 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.
+		<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.
         </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.
-        </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>
+			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>
+			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>
 
-        <para>
-            Um sie zu verwenden, müssen wir die Konfigurationsdatei aktualisieren.
-        </para>
-
-        <programlisting language="dosini"><![CDATA[
+		<programlisting language="dosini"><![CDATA[
 [production]
 phpSettings.display_startup_errors = 0
 phpSettings.display_errors = 0
@@ -347,15 +419,18 @@ 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>
@@ -370,19 +445,25 @@ phpSettings.display_errors = 1
 </html>
 ]]></programlisting>
 
-        <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>
+			An diesem Punkt haben wir ein funktionierendes Layout.
         </para>
 
-        <programlisting language="php"><![CDATA[
+		<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[
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
     protected function _initView()
@@ -404,21 +485,26 @@ 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>
-    </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>
+			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>
+
+	<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>
 </sect1>

File diff suppressed because it is too large
+ 535 - 391
documentation/manual/de/module_specs/Zend_Application-TheoryOfOperation.xml


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

@@ -2,70 +2,120 @@
 <!-- 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
 {
     /**
@@ -92,82 +142,115 @@ 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
@@ -176,12 +259,13 @@ 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);
 
@@ -204,64 +288,95 @@ switch ($result->getCode()) {
         break;
 }
 ]]></programlisting>
-    </sect2>
+	</sect2>
 
-    <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>
+	<sect2 id="zend.auth.introduction.persistence">
+		<title>Dauerhafte Identitäten</title>
 
-        <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>
+			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>
 
-        <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[
+		<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[
 // Eine Referenz zur Singleton Instanz von Zend_Auth speichern
 $auth = Zend_Auth::getInstance();
 
@@ -276,31 +391,41 @@ $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
 {
     /**
@@ -365,13 +490,14 @@ 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());
 
@@ -382,37 +508,46 @@ 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();
 
@@ -435,13 +570,15 @@ 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
@@ -449,29 +586,40 @@ 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);
 
@@ -488,5 +636,5 @@ if (!$result->isValid()) {
     // $result->getIdentity() === $username
 }
 ]]></programlisting>
-    </sect2>
+	</sect2>
 </sect1>

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

@@ -2,88 +2,126 @@
 <!-- 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.
+	<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:
         </para>
 
-        <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[
+		<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:'));
@@ -107,14 +145,16 @@ $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,
@@ -131,14 +171,16 @@ $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')
@@ -148,14 +190,17 @@ $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";
 
@@ -175,28 +220,36 @@ 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);
 
@@ -225,28 +278,39 @@ 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,
@@ -266,19 +330,25 @@ $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]";
@@ -286,22 +356,23 @@ $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',
@@ -313,35 +384,51 @@ $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,
@@ -358,5 +445,5 @@ $select->where('active = "TRUE"');
 // Authentifizieren, das stellt sicher das users.active = TRUE
 $adapter->authenticate();
 ]]></programlisting>
-    </sect2>
+	</sect2>
 </sect1>

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

@@ -2,111 +2,136 @@
 <!-- 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.
+	<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:
         </para>
 
-        <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[
+		<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,
@@ -126,5 +151,5 @@ Array
 )
 */
 ]]></programlisting>
-    </sect2>
+	</sect2>
 </sect1>

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

@@ -2,272 +2,351 @@
 <!-- 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.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    Enthält Aufrufe für alle unterstützten Schemas, damit Klienten mit jedem
-                    unterstützten Schema arbeiten können.
+	<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>
 
-            <listitem>
-                <para>
-                    Bietet Proxy Authentifizierung.
+			<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 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>
+				<para>
+					Bietet Proxy Authentifizierung.
                 </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>
+					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>
-                    Authentifizierung mit Integritäts-Prüfung, oder "auth-int".
+			</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>
+			</listitem>
 
-            <listitem>
-                <para>
-                    Authentifizierungs-Info <acronym>HTTP</acronym> Header.
+			<listitem>
+				<para>
+					Authentifizierung mit Integritäts-Prüfung, oder "auth-int".
                 </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.
+			</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.
                         </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.
+					</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.
                         </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.
+					</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>
-
-                    <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[
+					</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>
+				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>
 
-            <para>
-                Es gibt zwei gleiche einfache Wege um einen Datei Auflöser zu erstellen:
-            </para>
-
-            <programlisting language="php"><![CDATA[
+			<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',
@@ -276,30 +355,41 @@ $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');
 
@@ -310,12 +400,14 @@ $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);
 
@@ -327,5 +419,5 @@ if (!$result->isValid()) {
     // Schlechter Benutzername/Passwort, oder abgebrochener Passwort Prompt
 }
 ]]></programlisting>
-    </sect2>
+	</sect2>
 </sect1>

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

@@ -2,40 +2,57 @@
 <!-- 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');
 
@@ -69,30 +86,48 @@ 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
@@ -116,53 +151,81 @@ 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>
+			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>
 
-        <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[
+		<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
@@ -190,657 +253,1075 @@ 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>
-
-        <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>
+			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>
 
-        <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.
+		<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.
                         </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.
-                            </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.
+	</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>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>).
+						</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>
-                    </tbody>
-                </tgroup>
-            </table>
-        </sect3>
-    </sect2>
+						</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>
 </sect1>

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

@@ -2,86 +2,134 @@
 <!-- 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']) &&
@@ -123,15 +171,22 @@ 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>

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

@@ -2,61 +2,74 @@
 <!-- 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');
 
@@ -66,18 +79,21 @@ $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',
@@ -88,23 +104,28 @@ $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');
 
@@ -116,12 +137,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');
 
@@ -133,23 +154,29 @@ $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');
 
@@ -163,20 +190,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');
 
@@ -190,9 +217,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>

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

@@ -2,13 +2,17 @@
 <!-- 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>

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

@@ -2,49 +2,59 @@
 <!-- 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
@@ -64,213 +74,324 @@ $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
-                        </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")
+	</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>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>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>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)
+					</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
                         </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>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)
                         </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');
 
@@ -291,116 +412,156 @@ 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)
+		</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
                         </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
-                        </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>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>

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

@@ -2,704 +2,919 @@
 <!-- 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>

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

@@ -2,43 +2,51 @@
 <!-- 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
@@ -57,202 +65,272 @@ $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.
+					</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".
                         </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.
+					</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>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.
+					</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.
+					</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.
         </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.
-        </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.
+		<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>

File diff suppressed because it is too large
+ 818 - 561
documentation/manual/de/module_specs/Zend_Cache-Backends.xml


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

@@ -2,32 +2,47 @@
 <!-- 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(
@@ -54,12 +69,15 @@ $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
@@ -83,14 +101,19 @@ $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(
@@ -121,15 +144,22 @@ 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(
@@ -178,28 +208,48 @@ $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>

File diff suppressed because it is too large
+ 1110 - 747
documentation/manual/de/module_specs/Zend_Cache-Frontends.xml


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

@@ -2,38 +2,62 @@
 <!-- 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
@@ -49,31 +73,35 @@ $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:
@@ -96,26 +124,35 @@ 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
@@ -141,27 +178,43 @@ 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>

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

@@ -2,53 +2,79 @@
 <!-- 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.
+	<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.
         </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.
-        </para>
-    </note>
+	</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 = '[...]';
 
@@ -69,65 +95,83 @@ $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);
 
@@ -135,47 +179,56 @@ $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>

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

@@ -2,317 +2,464 @@
 <!-- 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.
+	<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.
         </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.
-        </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>
+	</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>

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

@@ -2,14 +2,17 @@
 <!-- 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();
@@ -31,25 +34,42 @@ 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();
 

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

@@ -2,25 +2,35 @@
 <!-- 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: -->

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

@@ -2,16 +2,17 @@
 <!-- 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',
@@ -33,11 +34,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
  *
@@ -52,17 +53,18 @@ 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',
@@ -101,11 +103,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
  *
@@ -126,18 +128,22 @@ 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',
@@ -212,11 +218,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
  *
@@ -258,25 +264,33 @@ 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(
@@ -292,22 +306,25 @@ $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
@@ -358,37 +375,46 @@ 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)
 );
@@ -413,5 +439,5 @@ $generator->setMethod(array(
 ));
 $code = $generator->generate();
 ]]></programlisting>
-    </example>
+	</example>
 </sect1>

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

@@ -2,28 +2,36 @@
 <!-- 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(
@@ -58,11 +66,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
@@ -76,21 +84,30 @@ 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')
 );
@@ -110,11 +127,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
@@ -132,5 +149,5 @@ class World
 
 }
 ]]></programlisting>
-    </sect2>
+	</sect2>
 </sect1>

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

@@ -2,21 +2,24 @@
 <!-- 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())
@@ -30,45 +33,63 @@ 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
 {
@@ -78,20 +99,24 @@ 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
 {
@@ -105,27 +130,32 @@ 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)
@@ -133,26 +163,34 @@ 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(
@@ -182,45 +220,64 @@ 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(
@@ -236,23 +293,29 @@ 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
 {
@@ -266,25 +329,32 @@ 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
 {
@@ -298,23 +368,28 @@ 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
 {
@@ -326,32 +401,44 @@ 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(
@@ -375,55 +462,71 @@ 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
 {
@@ -441,24 +544,28 @@ 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(
@@ -478,15 +585,17 @@ 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")
@@ -496,28 +605,37 @@ $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
 {
@@ -531,6 +649,6 @@ class Zend_CodeGenerator_Php_Property
     public function generate()
 }
 ]]></programlisting>
-        </sect3>
-    </sect2>
+		</sect3>
+	</sect2>
 </sect1>

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

@@ -2,35 +2,53 @@
 <!-- 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',
@@ -59,33 +77,40 @@ $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',
@@ -101,12 +126,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>

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

@@ -2,107 +2,184 @@
 <!-- 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: -->

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

@@ -2,70 +2,109 @@
 <!-- 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
@@ -83,81 +122,111 @@ 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>

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

@@ -2,63 +2,117 @@
 <!-- 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();
@@ -90,20 +144,23 @@ $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',
@@ -119,23 +176,34 @@ $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>

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

@@ -2,50 +2,81 @@
 <!-- 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>
@@ -72,35 +103,46 @@
 </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">
@@ -118,13 +160,17 @@ 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>
@@ -150,19 +196,24 @@ 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>
@@ -186,27 +237,37 @@ 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/">
@@ -235,5 +296,5 @@ $config = new Zend_Config_Xml($string, 'staging');
 
 echo $config->includePath; // Ausgabe "/var/www/something/library"
 ]]></programlisting>
-    </note>
+	</note>
 </sect1>

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

@@ -2,28 +2,33 @@
 <!-- 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(
@@ -31,33 +36,40 @@ $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(
@@ -67,41 +79,49 @@ $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(
@@ -111,42 +131,60 @@ $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:');
 
@@ -156,112 +194,151 @@ $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.
+		</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:
         </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:
+		<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>
 
-        <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>
+		<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(
@@ -270,6 +347,6 @@ $opts->setOptions(
     )
 );
 ]]></programlisting>
-        </example>
-    </sect2>
+		</example>
+	</sect2>
 </sect1>

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

@@ -2,47 +2,59 @@
 <!-- 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();
@@ -51,162 +63,201 @@ 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>
+		<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 Zeichenkette welche <acronym>JSON</acronym> Daten enthält: verwenden der
-                    <methodname>toJson()</methodname> Methode.
-                </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>
-
-        <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>JSON</acronym>
+					Daten enthält: verwenden der
+					<methodname>toJson()</methodname>
+					Methode.
+				</para>
+			</listitem>
 
-    <sect2 id="zend.console.getopt.fetching.remainingargs">
-        <title>Nicht-Options Argumente erhalten</title>
+			<listitem>
+				<para>
+					Als Zeichenkette welche
+					<acronym>XML</acronym>
+					Daten enthält: verwenden der
+					<methodname>toXml()</methodname>
+					Methode.
+				</para>
+			</listitem>
+		</itemizedlist>
 
-        <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>
+			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>
 
-        <example id="zend.console.getopt.fetching.remainingargs.example">
-            <title>Verwenden von getRemainingArgs()</title>
+	<sect2 id="zend.console.getopt.fetching.remainingargs">
+		<title>Nicht-Options Argumente erhalten</title>
 
-            <programlisting language="php"><![CDATA[
+		<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>
+
+			<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>

Some files were not shown because too many files changed in this diff