Zend_Locale-Functions.xml 84 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15215 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.locale.functions">
  5. <title>Zend_Locale verwenden</title>
  6. <para>
  7. <classname>Zend_Locale</classname> liefert auch lokalisierte Informationen über Gebietsschema für jedes
  8. Gebietsschema. Das beinhaltet unser anderem lokalisierte Namen für andere gebietsschema, Tage
  9. der Woche, Monatsnamen, usw.
  10. </para>
  11. <sect2 id="zend.locale.copying">
  12. <title>Kopieren, Klonen und Serialisieren von Gebietsschema Objekten</title>
  13. <para>
  14. Verwende
  15. <ulink url="http://php.net/language.oop5.cloning">Klonen von Objekten</ulink>
  16. um Gebietsschema Objekte exakt und effizient zu duplizieren. Die meisten lokalisierbaren
  17. Methoden akzeptieren auch eine Zeichenkette welche das Gebietsschema repräsentiert. Dieser
  18. entspricht dem Ergebnis von <code>$locale->toString()</code>.
  19. </para>
  20. <example id="zend.locale.copying.example-1">
  21. <title>Klonen</title>
  22. <programlisting role="php"><![CDATA[
  23. $locale = new Zend_Locale('ar');
  24. // Speichere das $locale Objekt als Serialisierung
  25. $serializedLocale = $locale->serialize();
  26. // Wiedererstellung des Original Objekts
  27. $localeObject = unserialize($serializedLocale);
  28. // Erhalte eine Zeichenkette welche das Gebietsschema identifiziert
  29. $stringLocale = $locale->toString();
  30. // Erstelle eine geklonte Kopie des $locale Objektes
  31. $copiedLocale = clone $locale;
  32. print "copied: ", $copiedLocale->toString();
  33. // PHP ruft automatisch toString() über __toString(); auf
  34. print "copied: ", $copiedLocale;
  35. ]]></programlisting>
  36. </example>
  37. </sect2>
  38. <sect2 id="zend.locale.equals">
  39. <title>Gleichheit</title>
  40. <para>
  41. <classname>Zend_Locale</classname> bietet auch eine erwartete Funktion zum Vergleichen von zwei
  42. Gebietsschema an. Alle lokalisierbaren Klassen sollten eine Vergleichbare Funktion für
  43. eine Gleichheitsprüfung anbieten.
  44. </para>
  45. <example id="zend.locale.equals.example-1">
  46. <title>Prüfung auf gleiche Gebietsschemata</title>
  47. <programlisting role="php"><![CDATA[
  48. $locale = new Zend_Locale();
  49. $mylocale = new Zend_Locale('en_US');
  50. // Prüfe ob die Gebietsschema gleich sind
  51. if ($locale->equals($mylocale)) {
  52. print "Die Gebietsschemata sind gleich";
  53. }
  54. ]]></programlisting>
  55. </example>
  56. </sect2>
  57. <sect2 id="zend.locale.getdefault">
  58. <title>Standard Gebietsschemata</title>
  59. <para>
  60. Die Methode <code>getDefault()</code> gibt ein Array mit relevanten Gebietsschemata zurück wobei
  61. Informationen vom Web Browser des Benutzers (wenn vorhanden), Informationen vom Betriebsystem des
  62. Host Servers und ZF Einstellungen benutzt werden. Wie beim Konstruktor von <classname>Zend_Locale</classname>
  63. wählt der erste Parameter die bevorzugte Umgebung von der die Informationen zuerst geholt werden sollen
  64. <link linkend="zend.locale.selection">(<code>BROWSER</code>, <code>ENVIRONMENT</code>, or <code>FRAMEWORK)</code>
  65. </link>. Der zweite Parameter wechselt zwischen der Rückgabe aller gefundenen Gebietsschemata oder
  66. nur dem ersten/besten Gebietsschema. Lokalisierbare Komponenten benutzen normalerweise nur das erste
  67. Gebietsschema. Wenn vorhanden, wird eine Bewertung der Qualität mit angegeben.
  68. </para>
  69. <example id="zend.locale.getdefault.example-1">
  70. <title>Das Standard Gebietsschema erhalten</title>
  71. <programlisting role="php"><![CDATA[
  72. $locale = new Zend_Locale();
  73. // Alle Standard Gebietsschema zurückgeben
  74. $found = $locale->getDefault();
  75. print_r($found);
  76. // Nur die Gebietsschema des Browsers zurück geben
  77. $found2 = $locale->getDefault(Zend_Locale::BROWSER,TRUE);
  78. print_r($found2);
  79. ]]></programlisting>
  80. </example>
  81. <para>
  82. Um nur die Standard Gebietsschema für <link linkend="zend.locale.selection"><code>BROWSER</code>,
  83. <code>ENVIRONMENT</code>, oder <code>FRAMEWORK</code></link> zu erhalten, können die folgenden
  84. Methoden benutzt werden:
  85. <itemizedlist>
  86. <listitem>
  87. <para>
  88. <code>getEnvironment()</code>
  89. </para>
  90. </listitem>
  91. <listitem>
  92. <para>
  93. <code>getBrowser()</code>
  94. </para>
  95. </listitem>
  96. <listitem>
  97. <para>
  98. <code>getLocale()</code>
  99. </para>
  100. </listitem>
  101. </itemizedlist>
  102. </para>
  103. </sect2>
  104. <sect2 id="zend.locale.setlocale">
  105. <title>Ein neues Gebietsschema setzen</title>
  106. <para>
  107. Ein neues Gebietsschema kann mit der Funktion <code>setLocale()</code> gesetzt werden. Diese Funktion
  108. nimmt eine Gebietsschema Zeichenkette als Parameter an. Wenn kein Gebietsschema angegeben wurde, wird ein
  109. <link linkend="zend.locale.selection">automatisch gewähltes</link> Gebietsschema benutzt. Da
  110. <classname>Zend_Locale</classname> Objekte sehr "leicht" sind, existiert diese Methode hauptsächlich um Nebeneffekte
  111. auszuschließen, für Klassen die ein existierendes angelegtes Objekt referenzieren.
  112. </para>
  113. <example id="zend.locale.setlocale.example-1">
  114. <title>setLocale</title>
  115. <programlisting role="php"><![CDATA[
  116. $locale = new Zend_Locale();
  117. // Aktuelles Gebietsschema
  118. print $locale->toString();
  119. // neues Gebietsschema
  120. $locale->setLocale('aa_DJ');
  121. print $locale->toString();
  122. ]]></programlisting>
  123. </example>
  124. </sect2>
  125. <sect2 id="zend.locale.getlocale">
  126. <title>Auslesen von Sprache und Region</title>
  127. <para>
  128. <code>getLanguage()</code> gibt eine Zeichenkette zurück welche den zwei-Zeichen Code der Sprache des
  129. Gebietsschemas enthält. <code>getRegion()</code> gibt eine Zeichenkette zurück welche den Zwei-Zeichen
  130. Code der Region des Gebietsschemas enthält.
  131. </para>
  132. <example id="zend.locale.getlocale.example-1">
  133. <title>getLanguage and getRegion</title>
  134. <programlisting role="php"><![CDATA[
  135. $locale = new Zend_Locale();
  136. // Wenn das Gebietsschema 'de_AT' ist, wird 'de' als Sprache zurückgegeben
  137. print $locale->getLanguage();
  138. // Wenn das Gebietsschema 'de_AT' ist, wird 'AT' als Region zurückgegeben
  139. print $locale->getRegion();
  140. ]]></programlisting>
  141. </example>
  142. </sect2>
  143. <sect2 id="zend.locale.getdata">
  144. <title>Lokalisierte Zeichenketten beschaffen</title>
  145. <para>
  146. <code>getTranslationList()</code> gibt Zugriff auf viele Arten von lokalisierten Informationen.
  147. Diese Informationen sind sehr nützlich wenn man einem Benutzer lokalisierte Daten anzeigen will,
  148. ohne das man alles Übersetzen muß. Diese Informationen sind bereits für den Gebrauch vorhanden.
  149. </para>
  150. <para>
  151. Die angefragte Liste an Informationen wird immer als benanntes Array zurückgegeben. Wenn mehr als
  152. ein Wert zu einem expliziten Typ angegeben werden soll von dem man Werte erhalten will, muss ein
  153. Array statt mehrerer Werte übergeben werden.
  154. </para>
  155. <example id="zend.locale.getdata.example-1">
  156. <title>getTranslationList</title>
  157. <programlisting role="php"><![CDATA[
  158. $list = Zend_Locale::getTranslationList('language', 'de_AT');
  159. print_r ($list);
  160. // Beispiel Schlüssel -> Werte Paare...
  161. // [de] -> Deutsch
  162. // [en] -> Englisch
  163. // Einen der zurückgegebenen Schlüssel als Wert für die
  164. // getTranslation() Methode einer anderen Sprache verwenden
  165. print Zend_Locale::getTranslation('de', 'language', 'zh');
  166. // Gibt die Übersetzung für die Sprache 'de' in chinesisch zurück
  167. ]]></programlisting>
  168. </example>
  169. <para>
  170. Man kann diese Informationen für alle Sprachen auslesen. Aber nicht alle dieser Informationen sind
  171. komplett für alle Sprachen. Einige dieser Arten sind auch durch eine eigene Funktion erhältlich wegen
  172. der Einfachheit. Anbei eine Liste für detailierte Informationen hierüber.
  173. </para>
  174. <table id="zend.locale.getdata.table-1">
  175. <title>Details für getTranslationList($type = null, $locale = null, $value = null)</title>
  176. <tgroup cols="2">
  177. <thead>
  178. <row>
  179. <entry>Typ</entry>
  180. <entry>Beschreibung</entry>
  181. </row>
  182. </thead>
  183. <tbody>
  184. <row>
  185. <entry><emphasis>Language</emphasis></entry>
  186. <entry>Gibt eine lokalisierte Liste aller Sprachen zurück. Der Sprach-Teil des
  187. Gebietsschemas wird als Schlüssel und die Übersetzung als Wert zurückgegeben.
  188. Der Einfachheit halber kann die <code>getLanguageTranslationList()</code> Methode
  189. verwendet werden</entry>
  190. </row>
  191. <row>
  192. <entry><emphasis>Script</emphasis></entry>
  193. <entry>Gibt eine lokalisierte Liste aller Schriften zurück. Die Schrift wird als
  194. Schlüssel die Übersetzung als Wert zurückgegeben. Der Einfachheit halber kann die
  195. <code>getScriptTranslationList()</code> Methode verwendet werden</entry>
  196. </row>
  197. <row>
  198. <entry><emphasis>Territory</emphasis></entry>
  199. <entry>Gibt eine lokalisierte Liste aller Territorien zurück. Diese enthält Länder,
  200. Kontinente und Territorien. Um nur die Territorien und Kontinente zu erhalten,
  201. muß '1' als Wert verwendet werden. Um nur die Länder zu erhalten muß '2' als
  202. Wert verwendet werden. Der Landes-Teil des Gebietsschemas wird, wo es möglich ist,
  203. als Schlüssel verwendet. In den anderen Fällen wird der offizielle ISO Code für
  204. dieses Territorium verwendet. Das übersetzte Territorium wird als Wert
  205. zurückgegeben. Der Einfachheit halber kann die
  206. <code>getCountryTranslationList()</code> Methode verwendet werden um alle
  207. Länder und die <code>getTerritoryTranslationList()</code> Methode
  208. um alle Territorien ohne Länder zu erhalten. Wenn der Wert nicht angegeben wird
  209. erhält man eine Liste mit beidem</entry>
  210. </row>
  211. <row>
  212. <entry><emphasis>Variant</emphasis></entry>
  213. <entry>Gibt eine lokalisierte Liste von bekannten Varianten von Schriften zurück.
  214. Die Variante wird als Schlüssel und die Übersetzung als Wert zurückgegeben</entry>
  215. </row>
  216. <row>
  217. <entry><emphasis>Key</emphasis></entry>
  218. <entry>Gibt eine lokalisierte Liste von bekannten Schlüsseln zurück. Diese Schlüssel
  219. sind generische Werte die in Übersetzungen verwendet werden. Das sind
  220. normalerweise Kalendar, Sammlungen und Währungen. Der Schlüssel wird als
  221. Arrayschlüssel und die Übersetzung als Wert zurückgegeben</entry>
  222. </row>
  223. <row>
  224. <entry><emphasis>Type</emphasis></entry>
  225. <entry>Gibt eine lokalisierte Liste von bekannten Typen von Schlüssel zurück. Das
  226. sind Varianten von Typen von Kalenderrepräsentationen und Typen von Sammlungen.
  227. Wenn 'collation' als Wert verwendet wird, dann werden alle Typen von Sammlungen
  228. zurückgegeben. Wenn 'calendar' als Wert verwendet wird dann werden alle Typen von
  229. Kalender zurückgegeben. Wenn der Wert nicht angegeben wird, dann wird eine Liste
  230. mit beidem zurückgegeben. Der Typ wird als Schlüssel und die Übersetzung als
  231. Wert zurückgegeben</entry>
  232. </row>
  233. <row>
  234. <entry><emphasis>Layout</emphasis></entry>
  235. <entry>Gibt eine Liste von Regeln zurück die beschreiben wie spezielle
  236. Textabschnitte formatiert werden</entry>
  237. </row>
  238. <row>
  239. <entry><emphasis>Characters</emphasis></entry>
  240. <entry>Gibt eine Liste von in diesem Gebietsschema erlaubten Zeichen zurück</entry>
  241. </row>
  242. <row>
  243. <entry><emphasis>Delimiters</emphasis></entry>
  244. <entry>Gibt eine Liste von in diesem Gebietsschema erlaubten Anführungszeichen
  245. zurück</entry>
  246. </row>
  247. <row>
  248. <entry><emphasis>Measurement</emphasis></entry>
  249. <entry>Gibt eine Liste von bekannten Bemessungswerten zurück. Diese Liste sollte
  250. nicht mehr verwendet werden</entry>
  251. </row>
  252. <row>
  253. <entry><emphasis>Months</emphasis></entry>
  254. <entry>Gibt eine Liste aller Repräsentationen für Monate in diesem Gebietsschema
  255. zurück. Es gibt einige unterschiedliche Repräsentationen welche alle als
  256. Unterarray zurückgegeben werden. Wenn kein Wert angegeben wird, dann wird eine
  257. Liste aller Monate des 'gregorian' (gregorianischen) Kalenders zurückgegeben.
  258. Es kann jeder bekannte Kalender als Wert angegeben werden um eine Liste der Monate
  259. dieses Kalenders zu erhalten. Der Einfachheit halber sollte
  260. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden</entry>
  261. </row>
  262. <row>
  263. <entry><emphasis>Month</emphasis></entry>
  264. <entry>Gibt eine lokalisierte Liste aller Monatsnamen für dieses Gebietsschema
  265. zurück. Wenn der Wert unterdrückt wird, dann wird der normalerweise verwendete
  266. gregorianische komplette Name der Monate zurückgegeben, wobei jede Monatsnummer als
  267. Schlüssel und das übersetzte Monat als Wert zurückgegeben wird. Man kann die Monate
  268. für andere Kalender und Formate erhalten indem ein Array als Wert angegeben wird.
  269. Der erste Eintrag des Arrays muß der Kalender sein, der zweite der verwendete
  270. Kontext und der dritte die Länge die zurückgegeben werden soll. Der Einfachheit
  271. halber sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
  272. werden</entry>
  273. </row>
  274. <row>
  275. <entry><emphasis>Days</emphasis></entry>
  276. <entry>Gibt eine Liste aller Repräsentationen für Tage in diesem Gebietsschema
  277. zurück. Es gibt einige unterschiedliche Repräsentationen welche alle als
  278. Unterarray zurückgegeben werden. Wenn kein Wert angegeben wird, dann wird eine
  279. Liste aller Tage des 'gregorian' (gregorianischen) Kalenders zurückgegeben. Es kann
  280. jeder bekannte Kalender als Wert angegeben werden um eine Liste der Tage dieses
  281. Kalenders zu erhalten. Der Einfachheit halber sollte
  282. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden</entry>
  283. </row>
  284. <row>
  285. <entry><emphasis>Day</emphasis></entry>
  286. <entry>Gibt eine lokalisierte Liste aller Tagesnamen für dieses Gebietsschema
  287. zurück. Wenn der Wert unterdrückt wird, dann wird der normalerweise verwendete
  288. gregorianische komplette Name der Tage zurückgegeben, wobei die englische
  289. Abkürzung des Tages als
  290. Schlüssel und der übersetzte Tag als Wert zurückgegeben wird. Man kann die Tage
  291. für andere Kalender und Formate erhalten indem ein Array als Wert angegeben wird.
  292. Der erste Eintrag des Arrays muß der Kalender sein, der zweite der verwendete
  293. Kontext und der dritte die Länge die zurückgegeben werden soll. Der Einfachheit
  294. halber sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
  295. werden</entry>
  296. </row>
  297. <row>
  298. <entry><emphasis>Week</emphasis></entry>
  299. <entry>Gibt eine Liste von Werten für die korrekte Berechnung der Woche in einem
  300. Gebietsschema zurück. Der Einfachheit halber sollte
  301. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden</entry>
  302. </row>
  303. <row>
  304. <entry><emphasis>Quarters</emphasis></entry>
  305. <entry>Gibt eine Liste aller Repräsentationen für Quartale in diesem Gebietsschema
  306. zurück. Es gibt einige unterschiedliche Repräsentationen welche alle als
  307. Unterarray zurückgegeben werden. Wenn kein Wert angegeben wird, dann wird eine
  308. Liste aller Quartale des 'gregorian' (gregorianischen) Kalenders zurückgegeben. Es
  309. kann jeder bekannte Kalender als Wert angegeben werden um eine Liste der Quartale
  310. dieses Kalenders zu erhalten</entry>
  311. </row>
  312. <row>
  313. <entry><emphasis>Quarter</emphasis></entry>
  314. <entry>Gibt eine lokalisierte Liste aller Quartalsnamen für dieses Gebietsschema
  315. zurück. Wenn der Wert unterdrückt wird, dann wird der normalerweise verwendete
  316. gregorianische komplette Name der Quartale zurückgegeben, wobei jede Quartalsnummer
  317. als Schlüssel und das übersetzte Quartal als Wert zurückgegeben wird. Man kann
  318. die Quartale für andere Kalender und Formate erhalten indem ein Array als Wert
  319. angegeben wird. Der erste Eintrag des Arrays muß der Kalender sein, der zweite
  320. der verwendete Kontext und der dritte die Länge die zurückgegeben werden soll</entry>
  321. </row>
  322. <row>
  323. <entry><emphasis>Eras</emphasis></entry>
  324. <entry>Gibt eine Liste aller Repräsentationen für Epochen in diesem Gebietsschema
  325. zurück. Wenn kein Wert angegeben wird, dann wird eine Liste aller Epochen des
  326. 'gregorian' (gregorianischen) Kalenders zurückgegeben. Es kann jeder bekannte
  327. Kalender als Wert angegeben werden um eine Liste der Epochen dieses Kalenders zu
  328. erhalten</entry>
  329. </row>
  330. <row>
  331. <entry><emphasis>Era</emphasis></entry>
  332. <entry>Gibt eine lokalisierte Liste aller Namen von Epochen für dieses Gebietsschema
  333. zurück. Wenn der Wert unterdrückt wird, dann wird der normalerweise verwendete
  334. gregorianische komplette Name der Epoche zurückgegeben, wobei jede Epochennummer
  335. als Schlüssel und die übersetzte Epoche als Wert zurückgegeben wird. Man kann
  336. die Epochen für andere Kalender und Formate erhalten indem ein Array als Wert
  337. angegeben wird. Der erste Eintrag des Arrays muß der Kalender sein und der zweite
  338. die Länge die zurückgegeben werden soll</entry>
  339. </row>
  340. <row>
  341. <entry><emphasis>Date</emphasis></entry>
  342. <entry>Gibt eine lokalisierte Liste aller Datumsformate für dieses Gebietsschema
  343. zurück. Der Name des Datumsformats wird als Schlüssel und das Format selbst
  344. als Wert zurückgegeben. Wenn der Wert nicht angegeben wird, dann werden die
  345. Datumsformate des gregorianischen Kalenders zurückgegeben. Die Datumsformate
  346. für andere Kalender kann man erhalten indem der gewünschte Kalender als String
  347. übergeben wird. Der Einfachheit halber sollte
  348. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden</entry>
  349. </row>
  350. <row>
  351. <entry><emphasis>Time</emphasis></entry>
  352. <entry>Gibt eine lokalisierte Liste aller Zeitformate für dieses Gebietsschema
  353. zurück. Der Name des Zeitformats wird als Schlüssel und das Format selbst
  354. als Wert zurückgegeben. Wenn der Wert nicht angegeben wird, dann werden die
  355. Zeitformate des gregorianischen Kalenders zurückgegeben. Die Zeitformate
  356. für andere Kalender kann man erhalten indem der gewünschte Kalender als String
  357. übergeben wird. Der Einfachheit halber sollte
  358. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden</entry>
  359. </row>
  360. <row>
  361. <entry><emphasis>DateTime</emphasis></entry>
  362. <entry>Gibt eine lokalisierte Liste aller Datums-Zeitformate für dieses Gebietsschema
  363. zurück. Der Name des Datums-Zeitformats wird als Schlüssel und das Format selbst
  364. als Wert zurückgegeben. Wenn der Wert nicht angegeben wird, dann werden die
  365. Datums-Zeitformate des gregorianischen Kalenders zurückgegeben. Die Datums-Zeitformate
  366. für andere Kalender kann man erhalten indem der gewünschte Kalender als String
  367. übergeben wird. Der Einfachheit halber sollte
  368. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden</entry>
  369. </row>
  370. <row>
  371. <entry><emphasis>Field</emphasis></entry>
  372. <entry>Gibt eine lokalisierte Liste von Datumsfelder zurück die verwendet werden kann
  373. um Kalender oder Datumsstrings wie 'Monat' oder 'Jahr' in einer gewünschte Sprache
  374. darzustellen. Wenn der Wert nicht angegeben wird dann wird diese Liste für den
  375. gregorianischen Kalender zurückgegeben. Man kann diese Liste für andere Kalender
  376. erhalten indem der gewünschte Kalender als String übergeben wird</entry>
  377. </row>
  378. <row>
  379. <entry><emphasis>Relative</emphasis></entry>
  380. <entry>Gibt eine lokalisierte Liste von relativen Daten zurück die verwendet werden
  381. können um relative Daten wie 'gestern' oder 'morgen' in einer gewünschten Sprache
  382. darzustellen. Wenn der Wert nicht angegeben wird dann wird diese Liste für den
  383. gregorianischen Kalender zurückgegeben. Man kann diese Liste für andere Kalender
  384. erhalten indem der gewünschte Kalender als String übergeben wird</entry>
  385. </row>
  386. <row>
  387. <entry><emphasis>Symbols</emphasis></entry>
  388. <entry>Gibt eine lokalisierte Liste von Zeichen zurück die in Repräsentationen von
  389. Zahlen verwendet wird</entry>
  390. </row>
  391. <row>
  392. <entry><emphasis>NameToCurrency</emphasis></entry>
  393. <entry>Gibt eine lokalisierte Liste von Namen für Währungen zurück. Die Währung wird
  394. hierbei als Schlüssel und der übersetzte Name als Wert zurückgegeben. Der
  395. Einfachheit halber sollte
  396. <link linkend="zend.currency.introduction">Zend_Currency</link> verwendet werden
  397. </entry>
  398. </row>
  399. <row>
  400. <entry><emphasis>CurrencyToName</emphasis></entry>
  401. <entry>Gibt eine lokalisierte Liste von Währungen für lokalisierte Namen zurück. Der
  402. übersetzte Name wird als Schlüssel und die Währung als Wert zurückgegeben. Der
  403. Einfachheit halber sollte
  404. <link linkend="zend.currency.introduction">Zend_Currency</link> verwendet werden
  405. </entry>
  406. </row>
  407. <row>
  408. <entry><emphasis>CurrencySymbol</emphasis></entry>
  409. <entry>Gibt eine Liste von bekannten lokalisierten Symbolen für Währungen zurück. Die
  410. Währung wird als Schlüssel und das Symbol als Wert zurückgegeben. Der Einfachheit
  411. halber sollte <link linkend="zend.currency.introduction">Zend_Currency</link>
  412. verwendet werden</entry>
  413. </row>
  414. <row>
  415. <entry><emphasis>Question</emphasis></entry>
  416. <entry>Gibt eine Liste von lokalisierten Strings für die Akzeptanz ('ja') und die
  417. Verneinung ('nein') zurück. Der Einfachheit halber sollte
  418. <link linkend="zend.locale.getquestion">Zend_Locale's getQuestion Methode</link>
  419. verwendet werden</entry>
  420. </row>
  421. <row>
  422. <entry><emphasis>CurrencyFraction</emphasis></entry>
  423. <entry>Gibt eine Liste von Brüchen für Währungswerte zurück. Die Währung wird als
  424. Schlüssel und der Bruch als Integer Wert zurückgegeben. Der Einfachheit halber sollte
  425. <link linkend="zend.currency.introduction">Zend_Currency</link> verwendet werden
  426. </entry>
  427. </row>
  428. <row>
  429. <entry><emphasis>CurrencyRounding</emphasis></entry>
  430. <entry>Gibt eine Liste zurück wie welche Währung gerundet werden muß. Die Währung wird
  431. als Schlüssel und der Rundungswert als Ganzzahl zurückgegeben. Der Einfachheit
  432. halber sollte <link linkend="zend.currency.introduction">Zend_Currency</link>
  433. verwendet werden</entry>
  434. </row>
  435. <row>
  436. <entry><emphasis>CurrencyToRegion</emphasis></entry>
  437. <entry>Gibt eine Liste von Währungen zurück von denen bekannt ist das Sie in einer
  438. Region verwendet werden. Der ISO3166 Wert ('Region') wird als Arrayschlüssel und
  439. der ISO4217 Wert ('Währung') als Arraywert zurückgegeben. Der Einfachheit halber
  440. sollte <link linkend="zend.currency.introduction">Zend_Currency</link> verwendet
  441. werden</entry>
  442. </row>
  443. <row>
  444. <entry><emphasis>RegionToCurrency</emphasis></entry>
  445. <entry>Gibt eine Liste von Regionen zurück in denen eine Währung verwendet wird.
  446. Der ISO4217 Wert ('Währung') wird als Arrayschlüssel und der ISO3166 Wert
  447. ('Region') als Arraywert zurückgegeben. Wenn eine Währung in mehreren Regionen
  448. verwendet wird dann werden diese Regionen durch ein Leerzeichen getrennt. Der
  449. Einfachheit halber sollte
  450. <link linkend="zend.currency.introduction">Zend_Currency</link> verwendet werden
  451. </entry>
  452. </row>
  453. <row>
  454. <entry><emphasis>RegionToTerritory</emphasis></entry>
  455. <entry>Gibt eine Liste von Territorien mit den Ländern, oder Sub-Territorien welche in
  456. diesem Territorium enthalten sind, zurück. Der ISO Territory Code ('Territorium')
  457. wird als Arrayschlüssel und der ISO3166 Wert ('Region') als Arraywert verwendet.
  458. Wenn ein Territorium mehrere Regionen enthält werden diese Regionen mit einem
  459. Leerzeichen getrennt</entry>
  460. </row>
  461. <row>
  462. <entry><emphasis>TerritoryToRegion</emphasis></entry>
  463. <entry>Gibt eine Liste von Regionen und den Territorien in denen diese Regionen
  464. enthalten sind zurück. Der ISO3166 Code ('Region') wird als Arrayschlüssel und der
  465. ISO Territory Code ('Territorium') als Arraywert zurückgegeben. Wenn eine Region
  466. in mehreren Territorien enthalten ist werden diese Territorien mit einem
  467. Leerzeichen getrennt</entry>
  468. </row>
  469. <row>
  470. <entry><emphasis>ScriptToLanguage</emphasis></entry>
  471. <entry>Gibt eine Liste von Schriften die in einer Sprache verwendet werden zurück.
  472. Der Sprachcode wird als Arrayschlüssel und der Schriftcode als Arraywert
  473. zurückgegeben. Wenn eine Sprache mehrere Schriften enthält werden diese Schriften
  474. mit einem Leerzeichen getrennt</entry>
  475. </row>
  476. <row>
  477. <entry><emphasis>LanguageToScript</emphasis></entry>
  478. <entry>Gibt eine Liste von Sprachen und den darin geschriebenen Schriften zurück. Der
  479. Schriftcode wird als Arrayschlüssel und der Sprachcode als Arraywert zurückgegeben.
  480. Wenn eine Schrift in verschiedenen Sprachen verwendet wird werden diese Sprachen
  481. mit einem Leerzeichen getrennt</entry>
  482. </row>
  483. <row>
  484. <entry><emphasis>TerritoryToLanguage</emphasis></entry>
  485. <entry>Gibt eine Liste von Ländern zurück die eine Sprache verwenden. Der Ländercode
  486. wird als Arrayschlüssel und der Sprachcode als Arraywert zurückgegeben. Wenn eine
  487. Sprache in mehreren Ländern verwendet wird werden diese Länder mit einem
  488. Leerzeichen getrennt</entry>
  489. </row>
  490. <row>
  491. <entry><emphasis>LanguageToTerritory</emphasis></entry>
  492. <entry>Gibt eine Liste von Ländern und den in diesen Ländern gesprächenen Sprachen
  493. zurück. Der Ländercode wird als Arrayschlüssel und der Sprachcode wird als
  494. Arraywert zurückgegeben. Wenn ein Land verschiedene Sprachen verwendet werden diese
  495. Sprachen mit einem Leerzeichen getrennt</entry>
  496. </row>
  497. <row>
  498. <entry><emphasis>TimezoneToWindows</emphasis></entry>
  499. <entry>Gibt eine Liste von Windows Zeitzonen und den entsprechenden ISO Zeitzonen
  500. zurück. Die Windows Zeitzone dies als Arrayschlüssel und die ISO Zeitzone als
  501. Arraywert zurückgegeben</entry>
  502. </row>
  503. <row>
  504. <entry><emphasis>WindowsToTimezone</emphasis></entry>
  505. <entry>Gibt eine Liste von ISO Zeitzonen und die entsprechenden Windows Zeitzonen
  506. zurück. Die ISO Zeitzone wird als Arrayschlüssel und die Windows Zeitzone als
  507. Arraywert zurückgegeben</entry>
  508. </row>
  509. <row>
  510. <entry><emphasis>TerritoryToTimezone</emphasis></entry>
  511. <entry>Gibt eine Liste von Regionen oder Territorien und den entsprechenden ISO
  512. Zeitzonen zurück. Die ISO Zeitzone wird als Arrayschlüssel und der Territory Code
  513. als Arraywert zurückgegeben</entry>
  514. </row>
  515. <row>
  516. <entry><emphasis>TimezoneToTerritory</emphasis></entry>
  517. <entry>Gibt eine Liste von Zeitzonen und den entsprechenden Regionen oder Territorien
  518. zurück. Die Region oder der Territory Code wird als Arrayschlüssel und die ISO
  519. Zeitzone als Arraywert zurückgegeben</entry>
  520. </row>
  521. <row>
  522. <entry><emphasis>CityToTimezone</emphasis></entry>
  523. <entry>Gibt eine lokalisierte Liste von Städten zurück die als Übersetzung für eine
  524. entsprechende Zeitzone verwendet werden können. Nicht für alle Zeitzonen ist eine
  525. Übersetzung vorhanden, aber für einen Benutzer ist eine echte, in seiner Sprache
  526. geschriebenen, Stadt besser als der ISO Name seiner Zeitzone. Die ISO Zeitzone wird
  527. als Arrayschlüssel und die übersetzte Stadt als Arraywert zurückgegeben</entry>
  528. </row>
  529. <row>
  530. <entry><emphasis>TimezoneToCity</emphasis></entry>
  531. <entry>Gibt eine Liste von Zeitzonen für lokalisierte Städtenamen zurück. Die
  532. lokalisierte Stadt wird als Arrayschlüssel und der ISO Name der Zeitzone als
  533. Arraywert zurückgegeben</entry>
  534. </row>
  535. <row>
  536. <entry><emphasis>PhoneToTerritory</emphasis></entry>
  537. <entry>Gibt eine Liste von Telefoncodes zurück die in einem bestimmten Territorium
  538. verwendet werden. Das Territorium (Region) wird als Arrayschlüssel und der
  539. Telefoncode als Arraywert verwendet</entry>
  540. </row>
  541. <row>
  542. <entry><emphasis>TerritoryToPhone</emphasis></entry>
  543. <entry>Gibt eine Liste von Territorien zurück in denen ein Telefoncode verwendet
  544. wird. Der Telefoncode wird als Arrayschlüssel und das Territorium (Region) als
  545. Arraywert verwendet. Wenn ein Telefoncode in verschiedenen Territorien verwendet
  546. wird, sind diese mit einem Leerzeichen getrennt</entry>
  547. </row>
  548. <row>
  549. <entry><emphasis>NumericToTerritory</emphasis></entry>
  550. <entry>Gibt eine Liste von 3 stelligen Numerncodes für Territorien zurück. Das
  551. Territorium (Region) wird als Arrayschlüssel und der 3 stellige Nummerncode als
  552. Arraywert verwendet</entry>
  553. </row>
  554. <row>
  555. <entry><emphasis>TerritoryToNumeric</emphasis></entry>
  556. <entry>Gibt eine Liste von Territorien mit Ihrem 3 stellige Nummerncode zurück. Das
  557. 3 stellige Nummerncode wird als Arrayschlüssel und das Territorium (Region) als
  558. Arraywert verwendet</entry>
  559. </row>
  560. <row>
  561. <entry><emphasis>Alpha3ToTerritory</emphasis></entry>
  562. <entry>Gibt eine Liste von 3 stelligen Zeichencodes für Territorien zurück. Das
  563. Territorium (Region) wird als Arrayschlüssel und der 3 stellige Zeichencode
  564. als Arraywert verwendet</entry>
  565. </row>
  566. <row>
  567. <entry><emphasis>TerritoryToAlpha3</emphasis></entry>
  568. <entry>
  569. Gibt eine Liste von Territorien mit Ihrem 3 stelligen Zeichencode
  570. zurück. Der 3 stellige Zeichencode wird als Arrayschlüssel und das
  571. Territorium (Region) als Arraywert verwendet
  572. </entry>
  573. </row>
  574. </tbody>
  575. </tgroup>
  576. </table>
  577. <para>
  578. Wenn nur ein einzelner übersetzter Wert benötigt wird, kann die
  579. <code>getTranslation()</code> Methode verwendet werden. Diese gibt immer einen String
  580. zurück, akzeptiert aber einige andere Typen als die <code>getTranslationList()</code>
  581. Methode. Auch der Wert ist der gleiche wie vorher mit einem Unterschied. Das Detail das
  582. man zurückerhalten will muß als zusätzlicher Wert angegeben werden
  583. </para>
  584. <note>
  585. <para>
  586. Weil immer ein Wert als Detail angegeben werden muß, muss dieser Parameter als
  587. erster Parameter angegeben werden. Das unterscheidet sich von der
  588. <code>getTranslationList()</code> Methode.
  589. </para>
  590. </note>
  591. <para>
  592. Siehe die folgende Tabelle für detailierte Informationen:
  593. </para>
  594. <table id="zend.locale.getdata.table-2">
  595. <title>Details für getTranslation($value = null, $type = null, $locale = null)</title>
  596. <tgroup cols="2">
  597. <thead>
  598. <row>
  599. <entry>Typ</entry>
  600. <entry>Beschreibung</entry>
  601. </row>
  602. </thead>
  603. <tbody>
  604. <row>
  605. <entry><emphasis>Language</emphasis></entry>
  606. <entry>
  607. Gibt eine Übersetzung für eine Sprache zurück. Um die gewünschte
  608. Übersetzung auszuwählen muß der Sprachcode als Wert angegeben werden.
  609. Der Einfachheit halber kann auch die
  610. <code>getLanguageTranslation($value)</code> Methode verwendet werden
  611. </entry>
  612. </row>
  613. <row>
  614. <entry><emphasis>Script</emphasis></entry>
  615. <entry>
  616. Gibt eine Übersetzung für eine Schrift zurück. Um die gewünschte
  617. Übersetzung auszuwählen muß der Schriftcode als Wert angegeben werden.
  618. Der Einfachheit halber kann auch die
  619. <code>getScriptTranslation($value)</code> Methode verwendet werden
  620. </entry>
  621. </row>
  622. <row>
  623. <entry>
  624. <emphasis>Territory</emphasis> oder <emphasis>Country</emphasis>
  625. </entry>
  626. <entry>
  627. Gibt eine Übersetzung für ein Territorium zurück. Das können Länder,
  628. Kontinente und Territorien sein. Um die gewünschte Variante auszuwählen
  629. muß der Territory Code als Wert angegeben werden. Der Einfachheit halber
  630. kann auch die <code>getCountryTranslation($value)</code> Methode
  631. verwendet werden
  632. </entry>
  633. </row>
  634. <row>
  635. <entry><emphasis>Variant</emphasis></entry>
  636. <entry>
  637. Gibt eine Übersetzung für eine Schriftvariante zurück. Um die gewünschte
  638. Variante auszuwählen muß der Code der Variante als Wert angegeben werden
  639. </entry>
  640. </row>
  641. <row>
  642. <entry><emphasis>Key</emphasis></entry>
  643. <entry>
  644. Gibt eine Übersetzung für einen bekannten Schlüssel zurück. Diese
  645. Schlüssel sind generische Werte die in Übersetzungen verwendet werden.
  646. Das sind normalerweise Kalender, Sammlung und Währung. Um den
  647. gewünschten Schlüssel auszuwählen muß der Schlüsselcode als Wert
  648. angegeben werden
  649. </entry>
  650. </row>
  651. <row>
  652. <entry><emphasis>DateChars</emphasis></entry>
  653. <entry>
  654. Gibt eine Zeichentabelle zurück welche alle Zeichen enthält wenn Daten
  655. angezeigt werden sollen
  656. </entry>
  657. </row>
  658. <row>
  659. <entry><emphasis>DefaultCalendar</emphasis></entry>
  660. <entry>
  661. Gibt den Standardkalender für das angegebene Gebietsschema zurück. Für
  662. die meisten wird das 'gregorian' (gregorianisch) sein. Der Einfachheit
  663. halber sollte <link linkend="zend.date.introduction">Zend_Date</link>
  664. verwendet werden
  665. </entry>
  666. </row>
  667. <row>
  668. <entry><emphasis>MonthContext</emphasis></entry>
  669. <entry>
  670. Gibt den Standardkontext für Monate zurück der im angegebenen Kalender
  671. verwendet wird. Wenn der Wert nicht angegeben wird, wird der 'gregorian'
  672. (gregorianische) Kalender verwendet. Der Einfachheit halber sollte
  673. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden
  674. </entry>
  675. </row>
  676. <row>
  677. <entry><emphasis>DefaultMonth</emphasis></entry>
  678. <entry>
  679. Gibt das Standardformat für Monate zurück die im angegebene Kalender
  680. verwendet werden. Wenn der Wert nicht angegeben wird, dann wird der
  681. 'gregorian' (gregorianische) Kalender verwendet. Der Einfachheit halber
  682. sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
  683. werden
  684. </entry>
  685. </row>
  686. <row>
  687. <entry><emphasis>Month</emphasis></entry>
  688. <entry>
  689. Gibt eine Übersetzung für ein Monat zurück. Es muß die Nummer des Monats
  690. als Ganzzahlwert angegeben werden. Er muß zwischen 1 und 12 sein. Wenn
  691. man die Daten für andere Kalender, Kontexte oder Formate empfangen will,
  692. muß ein Array statt einem Ganzzahlwert mit dem erwarteten Wert angegeben
  693. werden. Das Array muß wie folgt aussehen: <code>array('calendar',
  694. 'context', 'format', 'month number')</code>. Wenn nur ein Ganzzahlwert
  695. angegeben wird, sind die Standardwerte der 'gregorian' (Gregorianische)
  696. Kalender, der Kontext 'format' und das Format 'wide'. Der Einfachheit
  697. halber sollte <link linkend="zend.date.introduction">Zend_Date</link>
  698. verwendet werden
  699. </entry>
  700. </row>
  701. <row>
  702. <entry><emphasis>DayContext</emphasis></entry>
  703. <entry>
  704. Gibt den Standardkontext für Tage zurück der im angegebenen Kalender
  705. verwendet wird. Wenn der Wert nicht angegeben wird, wird der 'gregorian'
  706. (gregorianische) Kalender verwendet. Der Einfachheit halber sollte
  707. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden
  708. </entry>
  709. </row>
  710. <row>
  711. <entry><emphasis>DefaultDay</emphasis></entry>
  712. <entry>
  713. Gibt das Standardformat für Tage zurück die im angegebene Kalender
  714. verwendet werden. Wenn der Wert nicht angegeben wird, dann wird der
  715. 'gregorian' (gregorianische) Kalender verwendet. Der Einfachheit halber
  716. sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
  717. werden
  718. </entry>
  719. </row>
  720. <row>
  721. <entry><emphasis>Day</emphasis></entry>
  722. <entry>
  723. Gibt eine Übersetzung für einen Tag zurück. Es muß die englische
  724. Abkürzung des Tages als Stringwert angegeben werden ('sun', 'mon',
  725. usw.). Wenn man die Daten für andere Kalender, Kontexte oder Formate
  726. empfangen will, muß ein Array statt einem Ganzzahlwert mit dem
  727. erwarteten Wert angegeben werden. Das Array muß wie folgt aussehen:
  728. <code>array('calendar', 'context', 'format', 'day abbreviation')</code>.
  729. Wenn nur ein String angegeben wird, sind die Standardwerte der
  730. 'gregorian' (Gregorianische) Kalender, der Kontext 'format' und das
  731. Format 'wide'. Der Einfachheit halber sollte <link
  732. linkend="zend.date.introduction">Zend_Date</link> verwendet werden
  733. </entry>
  734. </row>
  735. <row>
  736. <entry><emphasis>Quarter</emphasis></entry>
  737. <entry>
  738. Gibt eine Übersetzung für ein Quartal zurück. Es muß die Nummer des
  739. Quartals Ganzzahl angegeben werden und diese muß zwischen 1 und 4 sein.
  740. Wenn man die Daten für andere Kalender, Kontexte oder Formate empfangen
  741. will, muß ein Array statt einem Ganzzahlwert mit dem erwarteten Wert
  742. angegeben werden. Das Array muß wie folgt aussehen:
  743. <code>array('calendar', 'context', 'format', 'quarter number')</code>.
  744. Wenn nur ein String angegeben wird, sind die Standardwerte der
  745. 'gregorian' (Gregorianische) Kalender, der Kontext 'format' und das
  746. Format 'wide'
  747. </entry>
  748. </row>
  749. <row>
  750. <entry><emphasis>Am</emphasis></entry>
  751. <entry>
  752. Gibt eine Übersetzung für 'AM' in dem erwarteten Gebietsschema zurück.
  753. Wenn man die Daten für andere Kalender empfangen will, muß ein String
  754. mit dem erwarteten Kalender angegeben werden. Wenn der Wert nicht
  755. angegeben wird, dann wird der 'gregorian' (Gregorianische) Kalender
  756. verwendet. Der Einfachheit halber sollte <link
  757. linkend="zend.date.introduction">Zend_Date</link> verwendet werden
  758. </entry>
  759. </row>
  760. <row>
  761. <entry><emphasis>Pm</emphasis></entry>
  762. <entry>
  763. Gibt eine Übersetzung für 'PM' in dem erwarteten Gebietsschema zurück.
  764. Wenn man die Daten für andere Kalender empfangen will, muß ein String
  765. mit dem erwarteten Kalender angegeben werden. Wenn der Wert nicht
  766. angegeben wird, dann wird der 'gregorian' (Gregorianische) Kalender
  767. verwendet. Der Einfachheit halber sollte <link
  768. linkend="zend.date.introduction">Zend_Date</link> verwendet werden
  769. </entry>
  770. </row>
  771. <row>
  772. <entry><emphasis>Era</emphasis></entry>
  773. <entry>
  774. Gibt eine Übersetzung für eine Epoche zurück. Es muß die Nummer der
  775. Epoche als Ganzzahl oder String angegeben werden. Wenn man die Daten
  776. für andere Kalender oder Formate empfangen will, muß ein Array statt
  777. einem Ganzzahlwert mit dem erwarteten Wert angegeben werden. Das Array
  778. muß wie folgt aussehen: <code>array('calendar', 'format',
  779. 'era number')</code>. Wenn nur ein String angegeben wird, sind die
  780. Standardwerte der 'gregorian' (Gregorianische) Kalender und das Format
  781. 'abbr'
  782. </entry>
  783. </row>
  784. <row>
  785. <entry><emphasis>DefaultDate</emphasis></entry>
  786. <entry>
  787. Gibt das Standard Datumsformat zurück das im angegebenen Kalender
  788. verwendet wird. Wenn der Wert nicht angegeben wird, dann wird der
  789. 'gregorian' (Gregorianische) Kalender verwendet. Der Einfachheit halber
  790. sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
  791. werden
  792. </entry>
  793. </row>
  794. <row>
  795. <entry><emphasis>Date</emphasis></entry>
  796. <entry>
  797. Gibt das Datumsformat für einen angegebenen Kalender oder Format in
  798. einem Gebietsschema zurück. Wenn kein Wert angegeben wird, dann wird der
  799. 'gregorian' (Gregorianische) Kalender mit dem Format 'medium' verwendet.
  800. Wenn ein String angegeben wird, dann wird der 'gregorian'
  801. (Gregorianische) Kalender mit dem angegebenen Format verwendet. Oder es
  802. kann auch ein Array angegeben welches wie folgt aussehen muß:
  803. <code>array('calendar', 'format')</code>. Der Einfachheit halber sollte
  804. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden
  805. </entry>
  806. </row>
  807. <row>
  808. <entry><emphasis>DefaultTime</emphasis></entry>
  809. <entry>
  810. Gibt das Standard Zeitformat zurück das im angegebenen Kalender
  811. verwendet wird. Wenn der Wert nicht angegeben wird, dann wird der
  812. 'gregorian' (Gregorianische) Kalender verwendet. Der Einfachheit halber
  813. sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
  814. werden
  815. </entry>
  816. </row>
  817. <row>
  818. <entry><emphasis>Time</emphasis></entry>
  819. <entry>
  820. Gibt das Zeitformat für einen angegebenen Kalender oder Format in einem
  821. Gebietsschema zurück. Wenn kein Wert angegeben wird, dann wird der
  822. 'gregorian' (Gregorianische) Kalender mit dem Format 'medium' verwendet.
  823. Wenn ein String angegeben wird, dann wird der 'gregorian'
  824. (Gregorianische) Kalender mit dem angegebenen Format verwendet. Oder es
  825. kann auch ein Array angegeben welches wie folgt aussehen muß:
  826. <code>array('calendar', 'format')</code>. Der Einfachheit halber sollte
  827. <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden
  828. </entry>
  829. </row>
  830. <row>
  831. <entry><emphasis>DateTime</emphasis></entry>
  832. <entry>
  833. Gibt das Datums-Zeitformat für ein angegebenes Gebietsschema zurück
  834. welches anzeigt wie Datum und Zeit im selben String des angegebenen
  835. Kalenders angezeigt werden sollten. Wenn kein Wert angegeben wird, dann
  836. wird der 'gregorian' (Gregorianische) Kalender verwendet. Der
  837. Einfachheit halber sollte <link
  838. linkend="zend.date.introduction">Zend_Date</link> verwendet werden
  839. </entry>
  840. </row>
  841. <row>
  842. <entry><emphasis>Field</emphasis></entry>
  843. <entry>
  844. Gibt ein übersetztes Datumsfeld zurück welches verwendet werden kann um
  845. Kalender oder Datumsstrings wie 'Monat' oder 'Jahr' in der gewünschten
  846. Sprache korrekt anzuzeigen. Das Feld das als String zurückgegeben werden
  847. soll muß angegeben werden. In diesem Fall wird der 'gregorian'
  848. (Gregorianische) Kalender verwendet. Wenn man die Felder für andere
  849. Kalenderformat erhalten will muß ein Array angegeben werden das wie
  850. folgt auszusehen hat: <code>array('calendar', 'date field')</code>
  851. </entry>
  852. </row>
  853. <row>
  854. <entry><emphasis>Relative</emphasis></entry>
  855. <entry>
  856. Gibt ein übersetztes Datums zurück welches relativ zu heute ist. Dieses
  857. kann Strings wie 'Gestern' oder 'Morgen' in einer gewünschten Sprache
  858. enthalten. Es muß die Anzahl der relativen Tage zu heute angegeben
  859. werden um den erwarteten String zu erhalten. Gestern würde '-1' sein,
  860. morgen '1' und so weiter. Es wird hierbei der 'gregorian'
  861. (Gregorianische) Kalender verwendet. Wenn man die relativen Daten für
  862. andere Kalenderformat erhalten will muß ein Array angegeben werden das
  863. wie folgt auszusehen hat: <code>array('calendar', 'date field')</code>
  864. </entry>
  865. </row>
  866. <row>
  867. <entry><emphasis>DecimalNumber</emphasis></entry>
  868. <entry>
  869. Gibt das Format für Dezimalzahlen in einem angegebenen Gebietsschema
  870. zurück. Der Einfachheit halber sollte <link
  871. linkend="zend.locale.parsing">Zend_Locale_Format</link> verwendet
  872. werden
  873. </entry>
  874. </row>
  875. <row>
  876. <entry><emphasis>ScientificNumber</emphasis></entry>
  877. <entry>
  878. Gibt das Format für Wissenschaftliche Zahlen im angegebenen
  879. Gebietsschema zurück
  880. </entry>
  881. </row>
  882. <row>
  883. <entry><emphasis>PercentNumber</emphasis></entry>
  884. <entry>
  885. Gibt das Format für Prozentzahlen im angegebenen Gebietsschema zurück
  886. </entry>
  887. </row>
  888. <row>
  889. <entry><emphasis>CurrencyNumber</emphasis></entry>
  890. <entry>
  891. Gibt das Format für die Anzeige von Währungszahlen in einem angegebenen
  892. Gebietsschema zurück. Der Einfachheit halber sollte
  893. <link linkend="zend.currency.introduction">Zend_Currency</link>
  894. verwendet werden
  895. </entry>
  896. </row>
  897. <row>
  898. <entry><emphasis>NameToCurrency</emphasis></entry>
  899. <entry>
  900. Gibt einen übersetzten Namen für eine angegebene Währung zurück. Die
  901. Währung muß im ISO Format angegeben werden welches zum Beispiel 'EUR'
  902. für die Währung 'Euro' ist. Der Einfachheit halber sollte
  903. <link linkend="zend.currency.introduction">Zend_Currency</link>
  904. verwendet werden
  905. </entry>
  906. </row>
  907. <row>
  908. <entry><emphasis>CurrencyToName</emphasis></entry>
  909. <entry>
  910. Gibt eine Währung für einen angegebenen lokalisierten Namen zurück. Der
  911. Einfachheit halber sollte
  912. <link linkend="zend.currency.introduction">Zend_Currency</link>
  913. verwendet werden
  914. </entry>
  915. </row>
  916. <row>
  917. <entry><emphasis>CurrencySymbol</emphasis></entry>
  918. <entry>
  919. Gibt das für eine Währung verwendete Symbol in einem Gebietsschema
  920. zurück. Nicht für alle Währungen existiert ein Symbol. Der Einfachheit
  921. halber sollte <link
  922. linkend="zend.currency.introduction">Zend_Currency</link> verwendet
  923. werden
  924. </entry>
  925. </row>
  926. <row>
  927. <entry><emphasis>Question</emphasis></entry>
  928. <entry>
  929. Gibt einen lokalisierten String für Akzeptanz ('yes') und Verneinung
  930. ('no') zurück. Es muß entweder 'yes' oder 'no' als Wert angegeben werden
  931. um den erwarteten String zu erhalten. Der Einfachheit halber sollte
  932. <link linkend="zend.locale.getquestion">Zend_Locale's getQuestion
  933. Methode</link> verwendet werden
  934. </entry>
  935. </row>
  936. <row>
  937. <entry><emphasis>CurrencyFraction</emphasis></entry>
  938. <entry>
  939. Gibt den Bruch der für eine angegebene Währung zu verwenden ist, zurück.
  940. Die Währung muß als ISO Wert angegeben werden. Der Einfachheit halber
  941. sollte <link linkend="zend.currency.introduction">Zend_Currency</link>
  942. verwendet werden
  943. </entry>
  944. </row>
  945. <row>
  946. <entry><emphasis>CurrencyRounding</emphasis></entry>
  947. <entry>
  948. Gibt zurück wie eine angegebene Währung gerundet werden muß. Die Währung
  949. muß als ISO Wert angegeben werden. Wenn die Währung nicht angegeben wird
  950. das wird die 'DEFAULT' (Standard) Rundung zurückgegeben. Der Einfachheit
  951. halber sollte <link
  952. linkend="zend.currency.introduction">Zend_Currency</link> verwendet
  953. werden
  954. </entry>
  955. </row>
  956. <row>
  957. <entry><emphasis>CurrencyToRegion</emphasis></entry>
  958. <entry>Gibt die Währung für eine angegebene Region zurück. Der Regionscode muß als
  959. ISO3166 String angegeben werden zum Beispiel 'AT' für Österreich. Der Einfachheit
  960. halber sollte <link linkend="zend.currency.introduction">Zend_Currency</link>
  961. verwendet werden</entry>
  962. </row>
  963. <row>
  964. <entry><emphasis>RegionToCurrency</emphasis></entry>
  965. <entry>Gibt die Regionen zurück in denen eine Währung verwendet wird. Die Währung muß
  966. als ISO4217 Code angegeben werden, zum Beispiel 'EUR' für Euro. Wenn eine Währung
  967. in mehreren Regionen verwendet wird, werden diese Regionen mit einem Leerzeichen
  968. getrennt. Der Einfachheit halber sollte
  969. <link linkend="zend.currency.introduction">Zend_Currency</link> verwendet werden
  970. </entry>
  971. </row>
  972. <row>
  973. <entry><emphasis>RegionToTerritory</emphasis></entry>
  974. <entry>Gibt die Regionen für ein angegebenes Territorium zurück. Das Territorium muß
  975. als ISO4217 String angegeben werden zum Beispiel '001' für Weltweit. Die Regionen
  976. in diesem Territorium werden mit einem Leerzeichen getrennt</entry>
  977. </row>
  978. <row>
  979. <entry><emphasis>TerritoryToRegion</emphasis></entry>
  980. <entry>Gibt die Territorien zurück in denen eine angegebene Region enthalten ist. Diese
  981. Region muß als ISO3166 String angegeben werden zum Beispiel 'AT' für Österreich.
  982. Wenn eine region in mehreren Territorien enthalten ist, werden diese Territorien
  983. mit einem Leerzeichen getrennt</entry>
  984. </row>
  985. <row>
  986. <entry><emphasis>ScriptToLanguage</emphasis></entry>
  987. <entry>Gibt die Schriften zurück die in einer angegebenen Sprache verwendet werden.
  988. Die Sprache muß als ISO Sprachcode angegeben werden zum Beispiel 'en' für englisch.
  989. Wenn mehrere Schriften in einer Sprache verwendet werden dann werden diese Schriften
  990. mit einem Leerzeichen getrennt</entry>
  991. </row>
  992. <row>
  993. <entry><emphasis>LanguageToScript</emphasis></entry>
  994. <entry>Gibt die Sprachen zurück die in einer angegebenen Schrift verwendet werden.
  995. Die Schrift muß als ISO Schriftcode angegeben werden zum Beispiel 'Latn' für
  996. lateinisch. Wenn eine Schrift in mehreren Sprachen verwendet wird dann werden diese
  997. Sprachen mit einem Leerzeichen getrennt</entry>
  998. </row>
  999. <row>
  1000. <entry><emphasis>TerritoryToLanguage</emphasis></entry>
  1001. <entry>Gibt die Territorien zurück die in einer angegebenen Sprache verwendet werden.
  1002. Die Sprache muß als ISO Sprachcode angegeben werden zum Beispiel 'en' für
  1003. englisch. Wenn mehrere Sprachen in einem Territorien verwendet werden dann werden
  1004. diese Sprachen mit einem Leerzeichen getrennt</entry>
  1005. </row>
  1006. <row>
  1007. <entry><emphasis>LanguageToTerritory</emphasis></entry>
  1008. <entry>Gibt die Sprachen zurück die in einem angegebenen Territorium verwendet werden.
  1009. Das Territorium muß als ISO3166 Code angegeben werden zum Beispiel 'IT' für
  1010. italienisch. Wenn eine Sprache in mehreren Territorien verwendet wird dann werden
  1011. diese Territorien mit einem Leerzeichen getrennt</entry>
  1012. </row>
  1013. <row>
  1014. <entry><emphasis>TimezoneToWindows</emphasis></entry>
  1015. <entry>Gibt eine ISO Zeitzone für eine angegebene Windows Zeitzone zurück</entry>
  1016. </row>
  1017. <row>
  1018. <entry><emphasis>WindowsToTimezone</emphasis></entry>
  1019. <entry>Gibt eine Windows Zeitzone für eine angegebene ISO Zeitzone zurück</entry>
  1020. </row>
  1021. <row>
  1022. <entry><emphasis>TerritoryToTimezone</emphasis></entry>
  1023. <entry>Gibt ein Territorium für eine angegebene ISO Zeitzone zurück</entry>
  1024. </row>
  1025. <row>
  1026. <entry><emphasis>TimezoneToTerritory</emphasis></entry>
  1027. <entry>Gibt die ISO Zeitzone für ein angegebenes Territorium zurück</entry>
  1028. </row>
  1029. <row>
  1030. <entry><emphasis>CityToTimezone</emphasis></entry>
  1031. <entry>Gibt eine lokalisierte Stadt für eine angegebene ISO Zeitzone zurück. Nicht für
  1032. alle Zeitzonen existiert eine Übersetzung einer Stadt</entry>
  1033. </row>
  1034. <row>
  1035. <entry><emphasis>TimezoneToCity</emphasis></entry>
  1036. <entry>Gibt die ISO Zeitzone für einen angegebenen lokalisierten Namen einer Stadt
  1037. zurück. Nicht für alle Städte existiert eine Zeitzone</entry>
  1038. </row>
  1039. <row>
  1040. <entry><emphasis>PhoneToTerritory</emphasis></entry>
  1041. <entry>Gibt den Telefoncode für ein angegebenes Territorium (Region) zurück.
  1042. Der Code des Territoriums muß als ISO3166 String angegeben werden, z.B.
  1043. 'AT' für Österreich</entry>
  1044. </row>
  1045. <row>
  1046. <entry><emphasis>TerritoryToPhone</emphasis></entry>
  1047. <entry>Gibt das Territorium (Region) zurück in dem ein Telefoncode verwendet wird.
  1048. Der Telefoncode muß als reiner Integerwert angegeben werden, z.B. '43' für
  1049. +43. Wenn ein Telefoncode verwendet wird der in mehreren Territorien (Regionen)
  1050. verwendet wird, werden diese Territorien mit einem Leerzeichen getrennt</entry>
  1051. </row>
  1052. <row>
  1053. <entry><emphasis>NumericToTerritory</emphasis></entry>
  1054. <entry>Gibt den 3 stelligen Nummerncode für ein angegebenes Territorium (Region)
  1055. zurück. Der Code des Territoriums muß als ISO3166 String angegeben werden, z.B.
  1056. 'AR' für Österreich</entry>
  1057. </row>
  1058. <row>
  1059. <entry><emphasis>TerritoryToNumeric</emphasis></entry>
  1060. <entry>Gibt as Territorium (Region) für einen 3 stelligen Nummerncode zurück. Der 3
  1061. stellige Nummerncode muß als reine Integerzahl angegeben werden, zum Beispiel '43'
  1062. </entry>
  1063. </row>
  1064. <row>
  1065. <entry><emphasis>Alpha3ToTerritory</emphasis></entry>
  1066. <entry>Gibt den 3 stelligen Zeichencode für ein angegebenes Territorium (Region)
  1067. zurück. Der Code des Territoriums (Region) muß als ISO3166 String angegeben werden,
  1068. zum Beispiel 'AT' für Österreich</entry>
  1069. </row>
  1070. <row>
  1071. <entry><emphasis>TerritoryToAlpha3</emphasis></entry>
  1072. <entry>´Gibt das Territorium (Region) für einen 3 stelligen Zeichencode zurück</entry>
  1073. </row>
  1074. </tbody>
  1075. </tgroup>
  1076. </table>
  1077. <note>
  1078. <para>
  1079. Mit dem Zend Framework 1.5 wurde verschiedene alte Typen umbenannt. Das wurde notwendig durch
  1080. verschiedene neue Typen, einige Schreibfehler und die Erhöhung der Verwendbarkeit. Die folgende
  1081. Tabelle zeigt eine Liste von alten und neuen Typen:
  1082. </para>
  1083. </note>
  1084. <table id="zend.locale.getdata.table-3">
  1085. <title>Unterschiede zwischen ZF 1.0 und ZF 1.5</title>
  1086. <tgroup cols="2">
  1087. <thead>
  1088. <row>
  1089. <entry>Alter Typ</entry>
  1090. <entry>Neuer Typ</entry>
  1091. </row>
  1092. </thead>
  1093. <tbody>
  1094. <row>
  1095. <entry>Country</entry>
  1096. <entry>Territory (mit dem Wert '2')</entry>
  1097. </row>
  1098. <row>
  1099. <entry>Calendar</entry>
  1100. <entry>Type (mit dem Wert 'calendar')</entry>
  1101. </row>
  1102. <row>
  1103. <entry>Month_Short</entry>
  1104. <entry>Month (mit dem Array('gregorian', 'format', 'abbreviated')</entry>
  1105. </row>
  1106. <row>
  1107. <entry>Month_Narrow</entry>
  1108. <entry>Month (mit dem Array('gregorian', 'stand-alone', 'narrow')</entry>
  1109. </row>
  1110. <row>
  1111. <entry>Month_Complete</entry>
  1112. <entry>Months</entry>
  1113. </row>
  1114. <row>
  1115. <entry>Day_Short</entry>
  1116. <entry>Day (mit dem Array('gregorian', 'format', 'abbreviated')</entry>
  1117. </row>
  1118. <row>
  1119. <entry>Day_Narrow</entry>
  1120. <entry>Day (mit dem Array('gregorian', 'stand-alone', 'narrow')</entry>
  1121. </row>
  1122. <row>
  1123. <entry>DateFormat</entry>
  1124. <entry>Date</entry>
  1125. </row>
  1126. <row>
  1127. <entry>TimeFormat</entry>
  1128. <entry>Time</entry>
  1129. </row>
  1130. <row>
  1131. <entry>Timezones</entry>
  1132. <entry>CityToTimezone</entry>
  1133. </row>
  1134. <row>
  1135. <entry>Currency</entry>
  1136. <entry>NameToCurrency</entry>
  1137. </row>
  1138. <row>
  1139. <entry>Currency_Sign</entry>
  1140. <entry>CurrencySymbol</entry>
  1141. </row>
  1142. <row>
  1143. <entry>Currency_Detail</entry>
  1144. <entry>CurrencyToRegion</entry>
  1145. </row>
  1146. <row>
  1147. <entry>Territory_Detail</entry>
  1148. <entry>TerritoryToRegion</entry>
  1149. </row>
  1150. <row>
  1151. <entry>Language_Detail</entry>
  1152. <entry>LanguageToTerritory</entry>
  1153. </row>
  1154. </tbody>
  1155. </tgroup>
  1156. </table>
  1157. <para>
  1158. Das folgende Beispiel zeigt wie man die Namen für Dinge in verschiedenen Sprachen erhalten kann.
  1159. </para>
  1160. <example id="zend.locale.getdata.example-3">
  1161. <title>getTranslationList</title>
  1162. <programlisting role="php"><![CDATA[
  1163. $locale = new Zend_Locale('en_US');
  1164. // Gibt die Namen aller Länder in der Französischen Sprache aus
  1165. print_r(Zend_Locale::getTranslationList('country', 'fr'));
  1166. ]]></programlisting>
  1167. </example>
  1168. <para>
  1169. Das nächste Beispiel zeigt wie der Name einer Sprache in einer anderen Sprache gefunden werden kann,
  1170. wenn der zwei-Zeichen ISO Länder-Code unbekannt ist.
  1171. </para>
  1172. <example id="zend.locale.getdata.example-4">
  1173. <title>Konvertierung des Ländernamens von einer Sprache in eine andere Sprache</title>
  1174. <programlisting role="php"><![CDATA[
  1175. $locale = new Zend_Locale('en_US');
  1176. $code2name = $locale->getLanguageTranslationList();
  1177. $name2code = array_flip($code2name);
  1178. $frenchCode = $name2code['French'];
  1179. echo $locale->getLanguageTranslation($frenchCode, 'es');
  1180. // Ausgegeben wird der Spanische Name der Fransösischen Sprache
  1181. ]]></programlisting>
  1182. </example>
  1183. <para>
  1184. Um von <classname>Zend_Locale</classname> eine Liste aller bekannten Sprachen zu bekommen wobei jede Sprache in Ihrer eigenen
  1185. Sprache geschrieben wird, kann das untere Beispiel in einer Web Seite benutzt werden. Genauso können
  1186. <code>getCountryTranslationList()</code> und <code>getCountryTranslation()</code> benutzt werden um eine
  1187. Tabelle zu erhalten die Namen für Muttersprachen einer Region und Namen für Regionen in einer anderen
  1188. Sprache zu erhalten. Man muß einen <code>try .. catch</code> Block benutzen um
  1189. Ausnahmen abzufangen die auftreten wenn ein Gebietsschema benutzt wird das nicht existiert. Nicht alle
  1190. Sprachen sind auch ein Gebietsschema. Im Beispiel werden die Ausnahmen ignoriert um einen frühen
  1191. Abbruch zu verhindern.
  1192. </para>
  1193. <example id="zend.locale.getdata.example-6">
  1194. <title>Alle Sprachen geschrieben in Ihrer Muttersprache</title>
  1195. <programlisting role="php"><![CDATA[
  1196. $list = Zend_Locale::getLanguageTranslationList('auto');
  1197. foreach($list as $language => $content) {
  1198. try {
  1199. $output = Zend_Locale::getLanguageTranslation($language, $language);
  1200. if (is_string($output)) {
  1201. print "\n<br>[".$language."] ".$output;
  1202. }
  1203. } catch (Exception $e) {
  1204. continue;
  1205. }
  1206. }
  1207. ]]></programlisting>
  1208. </example>
  1209. </sect2>
  1210. <sect2 id="zend.locale.getquestion">
  1211. <title>Übersetzungen für "Ja" und "Nein" erhalten</title>
  1212. <para>
  1213. Oft müssen Programme eine "Ja" oder "Nein" Rückmeldung eines Benutzers erkennen. <code>getQuestion()</code>
  1214. gibt ein Array zurück welches die richtigen Wörter oder Regex Zeichenketten enthält um einem Benutzer in einer
  1215. bestimmten $locale zu antworten (Standardmäßig das aktuelle Gebietsschema des Objekts). Das
  1216. zurückgegebene Array enthält die folgenden Informationen:
  1217. </para>
  1218. <itemizedlist>
  1219. <listitem>
  1220. <para>
  1221. <emphasis>yes und no</emphasis>: Eine generelle Stringrepräsentation für
  1222. Ja und Nein Antworten. Es enthält die erste und generellste Antwort von yesarray und noarray.
  1223. </para>
  1224. <para>
  1225. <emphasis>yesarray und noarray</emphasis>: Ein Array mit allen bekannten
  1226. Ja und Nein Antworten. Diverse Sprachen haben mehr als nur zwei Antworten. Normalerweise
  1227. ist das der komplette String und seine Abkürzung.
  1228. </para>
  1229. <para>
  1230. <emphasis>yesexpr und noexpr</emphasis>: Ein ersteller Regex String des es
  1231. erlaubt Benutzerantworten zu behandeln und nach Ja und Nein zu suchen.
  1232. </para>
  1233. </listitem>
  1234. </itemizedlist>
  1235. <para>
  1236. Alle diese Informationen sind natürlich lokalisiert und hängen vom eingestellten gebietsschema ab.
  1237. Das folgende Beispiel zeigt die Informationen die empfangen werden können:
  1238. </para>
  1239. <example id="zend.locale.getquestion.example-1">
  1240. <title>getQuestion()</title>
  1241. <programlisting role="php"><![CDATA[
  1242. $locale = new Zend_Locale();
  1243. // Zeichenketten für Fragen
  1244. print_r($locale->getQuestion('de'));
  1245. - - - Output - - -
  1246. Array
  1247. (
  1248. [yes]ja[/yes]
  1249. [no]nein[/no]
  1250. [yesabbr]j[/yesabbr]
  1251. [noabbr]n[/noabbr]
  1252. [yesexpr]^([yY]([eE][sS])?)|([jJ][aA]?)[/yesexpr]
  1253. [noexpr]^([nN]([oO]|([eE][iI][nN]))?)[/noexpr]
  1254. )
  1255. ]]></programlisting>
  1256. </example>
  1257. </sect2>
  1258. <sect2 id="zend.locale.getlocalelist">
  1259. <title>Eine Liste aller bekannten Gebietsschemata erhalten</title>
  1260. <para>
  1261. Manchmal will man eine Liste aller bekannten Gebietsschemata erhalten. Das kann für die
  1262. verschiedensten Aufgaben nützlich sein, zum Beispiel für die Erstellung einer Auswahlbox. Für
  1263. diesen Zweck kann die statische <code>getLocaleList()</code> Methode verwender werden, welche
  1264. eine Liste aller bekannten Gebietsschemata zurückgibt.
  1265. </para>
  1266. <example id="zend.locale.getlocalelist.example-1">
  1267. <title>getLocaleList()</title>
  1268. <programlisting role="php"><![CDATA[
  1269. $localelist = Zend_Locale::getLocaleList();
  1270. ]]></programlisting>
  1271. </example>
  1272. <note>
  1273. <para>
  1274. Es ist zu beachten das die Gebietsschemata als Schlüssel des Arrays das man erhält
  1275. zurück gegeben werden. Der Wert ist immer ein Boolsches True.
  1276. </para>
  1277. </note>
  1278. </sect2>
  1279. <sect2 id="zend.locale.detection">
  1280. <title>Erkennen von Gebietsschemata</title>
  1281. <para>
  1282. Wenn man erkennen will ob eine vorhandene Eingabe. unabhängig von Ihrer Quelle, ein
  1283. Gebietsschema ist, sollte man die statische <code>isLocale()</code> Methode verwenden. Der erste
  1284. Parameter dieser Methode ist der String den man prüfen will.
  1285. </para>
  1286. <example id="zend.locale.detection.example-1">
  1287. <title>Einfache Erkennung des Gebietsschemas</title>
  1288. <programlisting role="php"><![CDATA[
  1289. $input = 'to_RU';
  1290. if (Zend_Locale::isLocale($input)) {
  1291. print "'{$input}' ist ein Gebietsschema";
  1292. } else {
  1293. print "Sorry... die vorhandene Eingabe ist kein Gebietsschema";
  1294. }
  1295. ]]></programlisting>
  1296. </example>
  1297. <para>
  1298. Wie man sieht ist die Ausgabe dieser Methode immer ein boolscher Wert. Es gibt nur einen Grund
  1299. warum man eine Ausnahme erhält wenn diese Methode aufgerufen wird. Wenn das eigene System kein
  1300. Gebietsschema anbietet und Zend Framework nicht in der Lage ist dieses automatisch zu erkennen.
  1301. Normalerweise zeigt dieses, das ein Problem mit dem eigenen OS in Kombination mit PHP's
  1302. <code>setlocale()</code> vorhanden ist.
  1303. </para>
  1304. <para>
  1305. Man sollte auch beachten das jeder angegebene Gebietsschema String automatisch degradiert wird
  1306. wenn der Regionsabschnitt für dieses Gebietsschema nicht existiert. In unserem vorherigen
  1307. Beispiel existiert die Region <code>'RU'</code> nicht für die Sprache <code>'to'</code>, aber es
  1308. wird trotzdem true zurückgegeben da <classname>Zend_Locale</classname> mit der vorhandenen Eingabe arbeiten kann.
  1309. </para>
  1310. <para>
  1311. Trotzdem ist es manchmal nützlich diese automatische Degradierung zu verhindern, und hier kommt
  1312. der zweite Parameter von <code>isLocale()</code> zu Tragen. Der <code>strict</code> Parameter ist
  1313. Standardmäßig <code>false</code> und kann verwendet werden um die automatische Degradierung zu
  1314. verhindern wenn er auf <code>true</code> gesetzt wird.
  1315. </para>
  1316. <example id="zend.locale.detection.example-2">
  1317. <title>Strikte Erkennung des Gebietsschemas</title>
  1318. <programlisting role="php"><![CDATA[
  1319. $input = 'to_RU';
  1320. if (Zend_Locale::isLocale($input, true)) {
  1321. print "'{$input}' ist ein Gebietsschema";
  1322. } else {
  1323. print "Sorry... die vorhandene Eingabe ist kein Gebietsschema";
  1324. }
  1325. ]]></programlisting>
  1326. </example>
  1327. <para>
  1328. Jetzt da man in der Lage zu Erkennen ob ein vorhandenen String ein Gebietsschema ist kann man
  1329. Gebietsschema bezogenes Verhalten in seine eigenen Klassen hinzufügen. Aber man wird schnell
  1330. erkennen das das immer zu den gleichen 15 Zeilen Code führt. Etwas ähnliches wie das folgende
  1331. Beispiel:
  1332. </para>
  1333. <example id="zend.locale.detection.example-3">
  1334. <title>Implementierung von Gebietsschema bezogenem Verhalten</title>
  1335. <programlisting role="php"><![CDATA[
  1336. if ($locale === null) {
  1337. $locale = new Zend_Locale();
  1338. }
  1339. if (!Zend_Locale::isLocale($locale, true, false)) {
  1340. if (!Zend_Locale::isLocale($locale, false, false)) {
  1341. throw new Zend_Locale_Exception(
  1342. "Das Gebietsschema '$locale' ist kein bekanntes Gebietsschema");
  1343. }
  1344. $locale = new Zend_Locale($locale);
  1345. }
  1346. if ($locale instanceof Zend_Locale) {
  1347. $locale = $locale->toString();
  1348. }
  1349. ]]></programlisting>
  1350. </example>
  1351. <para>
  1352. Mit Zend Framework 1.8 haben wir die statische <code>findLocale()</code> Methode hinzugefügt welche
  1353. einen Gebietsschema-String zurückgibt mit dem man arbeiten kann. Sie führt die folgenden
  1354. Arbeiten durch:
  1355. </para>
  1356. <itemizedlist>
  1357. <listitem>
  1358. <para>
  1359. Erkennt ob ein angegebener String ein Gebietsschema ist
  1360. </para>
  1361. </listitem>
  1362. <listitem>
  1363. <para>
  1364. Degradiert das Gebietsschema wenn es in der angegebenen Region nicht existiert
  1365. </para>
  1366. </listitem>
  1367. <listitem>
  1368. <para>
  1369. Gibt das vorher gesetzte Anwendungsweite Gebietsscheam zurück wenn keine Eingabe
  1370. angegeben wurde
  1371. </para>
  1372. </listitem>
  1373. <listitem>
  1374. <para>
  1375. Erkennt das Gebietsschema vom Browser wenn die vorherigen Erkennungen fehlgeschlagen sind
  1376. </para>
  1377. </listitem>
  1378. <listitem>
  1379. <para>
  1380. Erkennt das Gebietsschema vom Betriebssystem wenn die vorherigen Erkennungen fehlgeschlagen
  1381. sind
  1382. </para>
  1383. </listitem>
  1384. <listitem>
  1385. <para>
  1386. Erkennt das Gebietsschema vom Framework wenn die vorherigen Erkennungen fehlgeschlagen sind
  1387. </para>
  1388. </listitem>
  1389. <listitem>
  1390. <para>
  1391. Gibt immer einen String zurück der das gefundene Gebietsschema repräsentiert
  1392. </para>
  1393. </listitem>
  1394. </itemizedlist>
  1395. <para>
  1396. Das folgende Beispiel zeigt wie diese Prüfungen und der obige Code mti einem einfachen Aufruf
  1397. vereinfacht werden kann:
  1398. </para>
  1399. <example id="zend.locale.detection.example-4">
  1400. <title>Gebietsschema bezogenes Verhalten mit ZF 1.8</title>
  1401. <programlisting role="php"><![CDATA[
  1402. $locale = Zend_Locale::findLocale($inputstring);
  1403. ]]></programlisting>
  1404. </example>
  1405. </sect2>
  1406. </sect1>