| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 17230 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.locale.functions">
- <title>Zend_Locale verwenden</title>
- <para>
- <classname>Zend_Locale</classname> liefert auch lokalisierte Informationen über
- Gebietsschema für jedes Gebietsschema. Das beinhaltet unser anderem lokalisierte Namen für
- andere gebietsschema, Tage der Woche, Monatsnamen, usw.
- </para>
- <sect2 id="zend.locale.copying">
- <title>Kopieren, Klonen und Serialisieren von Gebietsschema Objekten</title>
- <para>
- Verwende
- <ulink url="http://php.net/language.oop5.cloning">Klonen von Objekten</ulink>
- um Gebietsschema Objekte exakt und effizient zu duplizieren. Die meisten lokalisierbaren
- Methoden akzeptieren auch eine Zeichenkette welche das Gebietsschema repräsentiert.
- Dieser entspricht dem Ergebnis von <code>$locale->toString()</code>.
- </para>
- <example id="zend.locale.copying.example-1">
- <title>Klonen</title>
- <programlisting language="php"><![CDATA[
- $locale = new Zend_Locale('ar');
- // Speichere das $locale Objekt als Serialisierung
- $serializedLocale = $locale->serialize();
- // Wiedererstellung des Original Objekts
- $localeObject = unserialize($serializedLocale);
- // Erhalte eine Zeichenkette welche das Gebietsschema identifiziert
- $stringLocale = $locale->toString();
- // Erstelle eine geklonte Kopie des $locale Objektes
- $copiedLocale = clone $locale;
- print "copied: ", $copiedLocale->toString();
- // PHP ruft automatisch toString() über __toString(); auf
- print "copied: ", $copiedLocale;
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.locale.equals">
- <title>Gleichheit</title>
- <para>
- <classname>Zend_Locale</classname> bietet auch eine erwartete Funktion zum Vergleichen
- von zwei Gebietsschema an. Alle lokalisierbaren Klassen sollten eine Vergleichbare
- Funktion für eine Gleichheitsprüfung anbieten.
- </para>
- <example id="zend.locale.equals.example-1">
- <title>Prüfung auf gleiche Gebietsschemata</title>
- <programlisting language="php"><![CDATA[
- $locale = new Zend_Locale();
- $mylocale = new Zend_Locale('en_US');
- // Prüfe ob die Gebietsschema gleich sind
- if ($locale->equals($mylocale)) {
- print "Die Gebietsschemata sind gleich";
- }
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.locale.getdefault">
- <title>Standard Gebietsschemata</title>
- <para>
- Die Methode <methodname>getDefault()</methodname> gibt ein Array mit relevanten
- Gebietsschemata zurück wobei Informationen vom Web Browser des Benutzers (wenn
- vorhanden), Informationen vom Betriebsystem des Host Servers und Zend Framework
- Einstellungen benutzt werden. Wie beim Konstruktor von
- <classname>Zend_Locale</classname> wählt der erste Parameter die bevorzugte Umgebung von
- der die Informationen zuerst geholt werden sollen <link
- linkend="zend.locale.selection">(<constant>BROWSER</constant>,
- <constant>ENVIRONMENT</constant>, oder <constant>FRAMEWORK)</constant></link>. Der
- zweite Parameter wechselt zwischen der Rückgabe aller gefundenen Gebietsschemata
- oder nur dem ersten/besten Gebietsschema. Lokalisierbare Komponenten benutzen
- normalerweise nur das erste Gebietsschema. Wenn vorhanden, wird eine Bewertung der
- Qualität mit angegeben.
- </para>
- <example id="zend.locale.getdefault.example-1">
- <title>Das Standard Gebietsschema erhalten</title>
- <programlisting language="php"><![CDATA[
- $locale = new Zend_Locale();
- // Alle Standard Gebietsschema zurückgeben
- $found = $locale->getDefault();
- print_r($found);
- // Nur die Gebietsschema des Browsers zurück geben
- $found2 = $locale->getDefault(Zend_Locale::BROWSER,TRUE);
- print_r($found2);
- ]]></programlisting>
- </example>
- <para>
- Um nur die Standard Gebietsschema für <link
- linkend="zend.locale.selection"><constant>BROWSER</constant>,
- <constant>ENVIRONMENT</constant>, oder <constant>FRAMEWORK</constant></link> zu
- erhalten, können die folgenden Methoden benutzt werden:
- <itemizedlist>
- <listitem>
- <para>
- <methodname>getEnvironment()</methodname>
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getBrowser()</methodname>
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getLocale()</methodname>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </sect2>
- <sect2 id="zend.locale.setlocale">
- <title>Ein neues Gebietsschema setzen</title>
- <para>
- Ein neues Gebietsschema kann mit der Funktion <methodname>setLocale()</methodname>
- gesetzt werden. Diese Funktion nimmt eine Gebietsschema Zeichenkette als Parameter an.
- Wenn kein Gebietsschema angegeben wurde, wird ein <link
- linkend="zend.locale.selection">automatisch gewähltes</link> Gebietsschema benutzt.
- Da <classname>Zend_Locale</classname> Objekte sehr "leicht" sind, existiert diese
- Methode hauptsächlich um Nebeneffekte auszuschließen, für Klassen die ein existierendes
- angelegtes Objekt referenzieren.
- </para>
- <example id="zend.locale.setlocale.example-1">
- <title>setLocale</title>
- <programlisting language="php"><![CDATA[
- $locale = new Zend_Locale();
- // Aktuelles Gebietsschema
- print $locale->toString();
- // neues Gebietsschema
- $locale->setLocale('aa_DJ');
- print $locale->toString();
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.locale.getlocale">
- <title>Auslesen von Sprache und Region</title>
- <para>
- <methodname>getLanguage()</methodname> gibt eine Zeichenkette zurück welche den
- zwei-Zeichen Code der Sprache des Gebietsschemas enthält.
- <methodname>getRegion()</methodname> gibt eine Zeichenkette zurück welche den
- Zwei-Zeichen Code der Region des Gebietsschemas enthält.
- </para>
- <example id="zend.locale.getlocale.example-1">
- <title>getLanguage and getRegion</title>
- <programlisting language="php"><![CDATA[
- $locale = new Zend_Locale();
- // Wenn das Gebietsschema 'de_AT' ist, wird 'de' als Sprache zurückgegeben
- print $locale->getLanguage();
- // Wenn das Gebietsschema 'de_AT' ist, wird 'AT' als Region zurückgegeben
- print $locale->getRegion();
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.locale.getdata">
- <title>Lokalisierte Zeichenketten beschaffen</title>
- <para>
- <methodname>getTranslationList()</methodname> gibt Zugriff auf viele Arten von
- lokalisierten Informationen. Diese Informationen sind sehr nützlich wenn man einem
- Benutzer lokalisierte Daten anzeigen will, ohne das man alles Übersetzen muß. Diese
- Informationen sind bereits für den Gebrauch vorhanden.
- </para>
- <para>
- Die angefragte Liste an Informationen wird immer als benanntes Array zurückgegeben. Wenn
- mehr als ein Wert zu einem expliziten Typ angegeben werden soll von dem man Werte
- erhalten will, muss ein Array statt mehrerer Werte übergeben werden.
- </para>
- <example id="zend.locale.getdata.example-1">
- <title>getTranslationList</title>
- <programlisting language="php"><![CDATA[
- $list = Zend_Locale::getTranslationList('language', 'de_AT');
- print_r ($list);
- // Beispiel Schlüssel -> Werte Paare...
- // [de] -> Deutsch
- // [en] -> Englisch
- // Einen der zurückgegebenen Schlüssel als Wert für die
- // getTranslation() Methode einer anderen Sprache verwenden
- print Zend_Locale::getTranslation('de', 'language', 'zh');
- // Gibt die Übersetzung für die Sprache 'de' in chinesisch zurück
- ]]></programlisting>
- </example>
- <para>
- Man kann diese Informationen für alle Sprachen auslesen. Aber nicht alle dieser
- Informationen sind komplett für alle Sprachen. Einige dieser Arten sind auch durch eine
- eigene Funktion erhältlich wegen der Einfachheit. Anbei eine Liste für detailierte
- Informationen hierüber.
- </para>
- <table id="zend.locale.getdata.table-1">
- <title>
- Details für getTranslationList($type = null, $locale = null, $value = null)
- </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Typ</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><emphasis>Language</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Sprachen zurück. Der Sprach-Teil des
- Gebietsschemas wird als Schlüssel und die Übersetzung als Wert
- zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>Script</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Schriften zurück. Die Schrift wird
- als Schlüssel die Übersetzung als Wert zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>Territory</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Territorien zurück. Diese enthält
- Länder, Kontinente und Territorien. Um nur die Territorien und
- Kontinente zu erhalten, muß '1' als Wert verwendet werden. Um nur die
- Länder zu erhalten muß '2' als Wert verwendet werden. Der Landes-Teil
- des Gebietsschemas wird, wo es möglich ist, als Schlüssel verwendet. In
- den anderen Fällen wird der offizielle <acronym>ISO</acronym> Code für
- dieses Territorium verwendet. Das übersetzte Territorium wird als Wert
- zurückgegeben. Wenn der Wert nicht angegeben wird erhält man eine Liste
- mit beidem
- </entry>
- </row>
- <row>
- <entry><emphasis>Variant</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste von bekannten Varianten von Schriften
- zurück. Die Variante wird als Schlüssel und die Übersetzung als Wert
- zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>Key</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste von bekannten Schlüsseln zurück. Diese
- Schlüssel sind generische Werte die in Übersetzungen verwendet werden.
- Das sind normalerweise Kalendar, Sammlungen und Währungen. Der Schlüssel
- wird als Arrayschlüssel und die Übersetzung als Wert zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>Type</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste von bekannten Typen von Schlüssel zurück.
- Das sind Varianten von Typen von Kalenderrepräsentationen und Typen von
- Sammlungen. Wenn 'collation' als Wert verwendet wird, dann werden alle
- Typen von Sammlungen zurückgegeben. Wenn 'calendar' als Wert verwendet
- wird dann werden alle Typen von Kalender zurückgegeben. Wenn der Wert
- nicht angegeben wird, dann wird eine Liste mit beidem zurückgegeben. Der
- Typ wird als Schlüssel und die Übersetzung als Wert zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>Layout</emphasis></entry>
- <entry>
- Gibt eine Liste von Regeln zurück die beschreiben wie spezielle
- Textabschnitte formatiert werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Characters</emphasis></entry>
- <entry>
- Gibt eine Liste von in diesem Gebietsschema erlaubten Zeichen zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>Delimiters</emphasis></entry>
- <entry>
- Gibt eine Liste von in diesem Gebietsschema erlaubten Anführungszeichen
- zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>Measurement</emphasis></entry>
- <entry>
- Gibt eine Liste von bekannten Bemessungswerten zurück. Diese Liste
- sollte nicht mehr verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Months</emphasis></entry>
- <entry>
- Gibt eine Liste aller Repräsentationen für Monate in diesem
- Gebietsschema zurück. Es gibt einige unterschiedliche Repräsentationen
- welche alle als Unterarray zurückgegeben werden. Wenn kein Wert
- angegeben wird, dann wird eine Liste aller Monate des 'gregorian'
- (gregorianischen) Kalenders zurückgegeben. Es kann jeder bekannte
- Kalender als Wert angegeben werden um eine Liste der Monate dieses
- Kalenders zu erhalten. Der Einfachheit halber sollte <link
- linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Month</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Monatsnamen für dieses Gebietsschema
- zurück. Wenn der Wert unterdrückt wird, dann wird der normalerweise
- verwendete gregorianische komplette Name der Monate zurückgegeben, wobei
- jede Monatsnummer als Schlüssel und das übersetzte Monat als Wert
- zurückgegeben wird. Man kann die Monate für andere Kalender und Formate
- erhalten indem ein Array als Wert angegeben wird. Der erste Eintrag des
- Arrays muß der Kalender sein, der zweite der verwendete Kontext und der
- dritte die Länge die zurückgegeben werden soll. Der Einfachheit halber
- sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
- werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Days</emphasis></entry>
- <entry>
- Gibt eine Liste aller Repräsentationen für Tage in diesem Gebietsschema
- zurück. Es gibt einige unterschiedliche Repräsentationen welche alle als
- Unterarray zurückgegeben werden. Wenn kein Wert angegeben wird, dann
- wird eine Liste aller Tage des 'gregorian' (gregorianischen) Kalenders
- zurückgegeben. Es kann jeder bekannte Kalender als Wert angegeben werden
- um eine Liste der Tage dieses Kalenders zu erhalten. Der Einfachheit
- halber sollte <link linkend="zend.date.introduction">Zend_Date</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Day</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Tagesnamen für dieses Gebietsschema
- zurück. Wenn der Wert unterdrückt wird, dann wird der normalerweise
- verwendete gregorianische komplette Name der Tage zurückgegeben, wobei
- die englische Abkürzung des Tages als Schlüssel und der übersetzte Tag
- als Wert zurückgegeben wird. Man kann die Tage für andere Kalender und
- Formate erhalten indem ein Array als Wert angegeben wird. Der erste
- Eintrag des Arrays muß der Kalender sein, der zweite der verwendete
- Kontext und der dritte die Länge die zurückgegeben werden soll. Der
- Einfachheit halber sollte <link
- linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Week</emphasis></entry>
- <entry>
- Gibt eine Liste von Werten für die korrekte Berechnung der Woche in
- einem Gebietsschema zurück. Der Einfachheit halber sollte
- <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Quarters</emphasis></entry>
- <entry>
- Gibt eine Liste aller Repräsentationen für Quartale in diesem
- Gebietsschema zurück. Es gibt einige unterschiedliche Repräsentationen
- welche alle als Unterarray zurückgegeben werden. Wenn kein Wert
- angegeben wird, dann wird eine Liste aller Quartale des 'gregorian'
- (gregorianischen) Kalenders zurückgegeben. Es kann jeder bekannte
- Kalender als Wert angegeben werden um eine Liste der Quartale dieses
- Kalenders zu erhalten
- </entry>
- </row>
- <row>
- <entry><emphasis>Quarter</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Quartalsnamen für dieses
- Gebietsschema zurück. Wenn der Wert unterdrückt wird, dann wird der
- normalerweise verwendete gregorianische komplette Name der Quartale
- zurückgegeben, wobei jede Quartalsnummer als Schlüssel und das
- übersetzte Quartal als Wert zurückgegeben wird. Man kann die Quartale
- für andere Kalender und Formate erhalten indem ein Array als Wert
- angegeben wird. Der erste Eintrag des Arrays muß der Kalender sein, der
- zweite der verwendete Kontext und der dritte die Länge die zurückgegeben
- werden soll
- </entry>
- </row>
- <row>
- <entry><emphasis>Eras</emphasis></entry>
- <entry>
- Gibt eine Liste aller Repräsentationen für Epochen in diesem
- Gebietsschema zurück. Wenn kein Wert angegeben wird, dann wird eine
- Liste aller Epochen des 'gregorian' (gregorianischen) Kalenders
- zurückgegeben. Es kann jeder bekannte Kalender als Wert angegeben werden
- um eine Liste der Epochen dieses Kalenders zu erhalten
- </entry>
- </row>
- <row>
- <entry><emphasis>Era</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Namen von Epochen für dieses
- Gebietsschema zurück. Wenn der Wert unterdrückt wird, dann wird der
- normalerweise verwendete gregorianische komplette Name der Epoche
- zurückgegeben, wobei jede Epochennummer als Schlüssel und die übersetzte
- Epoche als Wert zurückgegeben wird. Man kann die Epochen für andere
- Kalender und Formate erhalten indem ein Array als Wert angegeben wird.
- Der erste Eintrag des Arrays muß der Kalender sein und der zweite die
- Länge die zurückgegeben werden soll
- </entry>
- </row>
- <row>
- <entry><emphasis>Date</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Datumsformate für dieses
- Gebietsschema zurück. Der Name des Datumsformats wird als Schlüssel und
- das Format selbst als Wert zurückgegeben. Wenn der Wert nicht angegeben
- wird, dann werden die Datumsformate des gregorianischen Kalenders
- zurückgegeben. Die Datumsformate für andere Kalender kann man erhalten
- indem der gewünschte Kalender als String übergeben wird. Der Einfachheit
- halber sollte <link linkend="zend.date.introduction">Zend_Date</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Time</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Zeitformate für dieses Gebietsschema
- zurück. Der Name des Zeitformats wird als Schlüssel und das Format
- selbst als Wert zurückgegeben. Wenn der Wert nicht angegeben wird, dann
- werden die Zeitformate des gregorianischen Kalenders zurückgegeben. Die
- Zeitformate für andere Kalender kann man erhalten indem der gewünschte
- Kalender als String übergeben wird. Der Einfachheit halber sollte
- <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>DateTime</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste aller Datums-Zeitformate für dieses
- Gebietsschema zurück. Der Name des Datums-Zeitformats wird als Schlüssel
- und das Format selbst als Wert zurückgegeben. Wenn der Wert nicht
- angegeben wird, dann werden die Datums-Zeitformate des gregorianischen
- Kalenders zurückgegeben. Die Datums-Zeitformate für andere Kalender kann
- man erhalten indem der gewünschte Kalender als String übergeben wird.
- Der Einfachheit halber sollte <link
- linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>DateItem</emphasis></entry>
- <entry>
- Gibt eine Liste von Standardformaten für gegebene Datums oder Zeit
- Einheiten zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>DateInterval</emphasis></entry>
- <entry>
- Gibt eine Liste von Datums- oder Zeitformaten zurück die verwendet
- werden wenn man Intervalle darstellen will. Die Liste ist ein
- mehrdimentionales Array wobei die erste Dimension das Format des
- Intervalls und die zweite Dimension das Token mit der größten
- Differenz ist.
- </entry>
- </row>
- <row>
- <entry><emphasis>Field</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste von Datumsfelder zurück die verwendet
- werden kann um Kalender oder Datumsstrings wie 'Monat' oder 'Jahr' in
- einer gewünschte Sprache darzustellen. Wenn der Wert nicht angegeben
- wird dann wird diese Liste für den gregorianischen Kalender
- zurückgegeben. Man kann diese Liste für andere Kalender erhalten indem
- der gewünschte Kalender als String übergeben wird
- </entry>
- </row>
- <row>
- <entry><emphasis>Relative</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste von relativen Daten zurück die verwendet
- werden können um relative Daten wie 'gestern' oder 'morgen' in einer
- gewünschten Sprache darzustellen. Wenn der Wert nicht angegeben wird
- dann wird diese Liste für den gregorianischen Kalender zurückgegeben.
- Man kann diese Liste für andere Kalender erhalten indem der gewünschte
- Kalender als String übergeben wird
- </entry>
- </row>
- <row>
- <entry><emphasis>Symbols</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste von Zeichen zurück die in Repräsentationen
- von Zahlen verwendet wird
- </entry>
- </row>
- <row>
- <entry><emphasis>NameToCurrency</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste von Namen für Währungen zurück. Die Währung
- wird hierbei als Schlüssel und der übersetzte Name als Wert
- zurückgegeben. Der Einfachheit halber sollte
- <link linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencyToName</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste von Währungen für lokalisierte Namen
- zurück. Der übersetzte Name wird als Schlüssel und die Währung als Wert
- zurückgegeben. Der Einfachheit halber sollte
- <link linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencySymbol</emphasis></entry>
- <entry>
- Gibt eine Liste von bekannten lokalisierten Symbolen für Währungen
- zurück. Die Währung wird als Schlüssel und das Symbol als Wert
- zurückgegeben. Der Einfachheit halber sollte <link
- linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Question</emphasis></entry>
- <entry>
- Gibt eine Liste von lokalisierten Strings für die Akzeptanz ('ja') und
- die Verneinung ('nein') zurück. Der Einfachheit halber sollte
- <link linkend="zend.locale.getquestion">Zend_Locale's getQuestion
- Methode</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencyFraction</emphasis></entry>
- <entry>
- Gibt eine Liste von Brüchen für Währungswerte zurück. Die Währung wird
- als Schlüssel und der Bruch als Integer Wert zurückgegeben. Der
- Einfachheit halber sollte <link
- linkend="zend.currency.introduction">Zend_Currency</link> verwendet
- werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencyRounding</emphasis></entry>
- <entry>
- Gibt eine Liste zurück wie welche Währung gerundet werden muß. Die
- Währung wird als Schlüssel und der Rundungswert als Ganzzahl
- zurückgegeben. Der Einfachheit halber sollte <link
- linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencyToRegion</emphasis></entry>
- <entry>
- Gibt eine Liste von Währungen zurück von denen bekannt ist das Sie in
- einer Region verwendet werden. Der <acronym>ISO3166</acronym> Wert
- ('Region') wird als Arrayschlüssel und der <acronym>ISO4217</acronym>
- Wert ('Währung') als Arraywert zurückgegeben. Der Einfachheit halber
- sollte <link linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>RegionToCurrency</emphasis></entry>
- <entry>
- Gibt eine Liste von Regionen zurück in denen eine Währung verwendet
- wird. Der <acronym>ISO4217</acronym> Wert ('Währung') wird als
- Arrayschlüssel und der <acronym>ISO3166</acronym> Wert ('Region') als
- Arraywert zurückgegeben. Wenn eine Währung in mehreren Regionen
- verwendet wird dann werden diese Regionen durch ein Leerzeichen
- getrennt. Der Einfachheit halber sollte <link
- linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>RegionToTerritory</emphasis></entry>
- <entry>
- Gibt eine Liste von Territorien mit den Ländern, oder Sub-Territorien
- welche in diesem Territorium enthalten sind, zurück. Der
- <acronym>ISO</acronym> Territory Code ('Territorium') wird als
- Arrayschlüssel und der <acronym>ISO3166</acronym> Wert ('Region') als
- Arraywert verwendet. Wenn ein Territorium mehrere Regionen enthält
- werden diese Regionen mit einem Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToRegion</emphasis></entry>
- <entry>
- Gibt eine Liste von Regionen und den Territorien in denen diese Regionen
- enthalten sind zurück. Der <acronym>ISO3166</acronym> Code ('Region')
- wird als Arrayschlüssel und der <acronym>ISO</acronym> Territory Code
- ('Territorium') als Arraywert zurückgegeben. Wenn eine Region in
- mehreren Territorien enthalten ist werden diese Territorien mit einem
- Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>ScriptToLanguage</emphasis></entry>
- <entry>
- Gibt eine Liste von Schriften die in einer Sprache verwendet werden
- zurück. Der Sprachcode wird als Arrayschlüssel und der Schriftcode als
- Arraywert zurückgegeben. Wenn eine Sprache mehrere Schriften enthält
- werden diese Schriften mit einem Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>LanguageToScript</emphasis></entry>
- <entry>
- Gibt eine Liste von Sprachen und den darin geschriebenen Schriften
- zurück. Der Schriftcode wird als Arrayschlüssel und der Sprachcode als
- Arraywert zurückgegeben. Wenn eine Schrift in verschiedenen Sprachen
- verwendet wird werden diese Sprachen mit einem Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToLanguage</emphasis></entry>
- <entry>
- Gibt eine Liste von Ländern zurück die eine Sprache verwenden. Der
- Ländercode wird als Arrayschlüssel und der Sprachcode als Arraywert
- zurückgegeben. Wenn eine Sprache in mehreren Ländern verwendet wird
- werden diese Länder mit einem Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>LanguageToTerritory</emphasis></entry>
- <entry>
- Gibt eine Liste von Ländern und den in diesen Ländern gesprächenen
- Sprachen zurück. Der Ländercode wird als Arrayschlüssel und der
- Sprachcode wird als Arraywert zurückgegeben. Wenn ein Land verschiedene
- Sprachen verwendet werden diese Sprachen mit einem Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>TimezoneToWindows</emphasis></entry>
- <entry>
- Gibt eine Liste von Windows Zeitzonen und den entsprechenden
- <acronym>ISO</acronym> Zeitzonen zurück. Die Windows Zeitzone dies als
- Arrayschlüssel und die <acronym>ISO</acronym> Zeitzone als Arraywert
- zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>WindowsToTimezone</emphasis></entry>
- <entry>
- Gibt eine Liste von <acronym>ISO</acronym> Zeitzonen und die
- entsprechenden Windows Zeitzonen zurück. Die <acronym>ISO</acronym>
- Zeitzone wird als Arrayschlüssel und die Windows Zeitzone als Arraywert
- zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToTimezone</emphasis></entry>
- <entry>
- Gibt eine Liste von Regionen oder Territorien und den entsprechenden
- <acronym>ISO</acronym> Zeitzonen zurück. Die <acronym>ISO</acronym>
- Zeitzone wird als Arrayschlüssel und der Territory Code als Arraywert
- zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>TimezoneToTerritory</emphasis></entry>
- <entry>
- Gibt eine Liste von Zeitzonen und den entsprechenden Regionen oder
- Territorien zurück. Die Region oder der Territory Code wird als
- Arrayschlüssel und die <acronym>ISO</acronym> Zeitzone als Arraywert
- zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>CityToTimezone</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Liste von Städten zurück die als Übersetzung für
- eine entsprechende Zeitzone verwendet werden können. Nicht für alle
- Zeitzonen ist eine Übersetzung vorhanden, aber für einen Benutzer ist
- eine echte, in seiner Sprache geschriebenen, Stadt besser als der
- <acronym>ISO</acronym> Name seiner Zeitzone. Die <acronym>ISO</acronym>
- Zeitzone wird als Arrayschlüssel und die übersetzte Stadt als Arraywert
- zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>TimezoneToCity</emphasis></entry>
- <entry>
- Gibt eine Liste von Zeitzonen für lokalisierte Städtenamen zurück. Die
- lokalisierte Stadt wird als Arrayschlüssel und der
- <acronym>ISO</acronym> Name der Zeitzone als Arraywert zurückgegeben
- </entry>
- </row>
- <row>
- <entry><emphasis>PhoneToTerritory</emphasis></entry>
- <entry>
- Gibt eine Liste von Telefoncodes zurück die in einem bestimmten
- Territorium verwendet werden. Das Territorium (Region) wird als
- Arrayschlüssel und der Telefoncode als Arraywert verwendet
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToPhone</emphasis></entry>
- <entry>
- Gibt eine Liste von Territorien zurück in denen ein Telefoncode
- verwendet wird. Der Telefoncode wird als Arrayschlüssel und das
- Territorium (Region) als Arraywert verwendet. Wenn ein Telefoncode in
- verschiedenen Territorien verwendet wird, sind diese mit einem
- Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>NumericToTerritory</emphasis></entry>
- <entry>
- Gibt eine Liste von 3 stelligen Numerncodes für Territorien zurück. Das
- Territorium (Region) wird als Arrayschlüssel und der 3 stellige
- Nummerncode als Arraywert verwendet
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToNumeric</emphasis></entry>
- <entry>
- Gibt eine Liste von Territorien mit Ihrem 3 stellige Nummerncode zurück.
- Das 3 stellige Nummerncode wird als Arrayschlüssel und das Territorium
- (Region) als Arraywert verwendet
- </entry>
- </row>
- <row>
- <entry><emphasis>Alpha3ToTerritory</emphasis></entry>
- <entry>
- Gibt eine Liste von 3 stelligen Zeichencodes für Territorien zurück. Das
- Territorium (Region) wird als Arrayschlüssel und der 3 stellige
- Zeichencode als Arraywert verwendet
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToAlpha3</emphasis></entry>
- <entry>
- Gibt eine Liste von Territorien mit Ihrem 3 stelligen Zeichencode
- zurück. Der 3 stellige Zeichencode wird als Arrayschlüssel und das
- Territorium (Region) als Arraywert verwendet
- </entry>
- </row>
- <row>
- <entry><emphasis>PostalToTerritory</emphasis></entry>
- <entry>
- Gibt eine Liste von Territorien mit einem Regex für Post Codes zurück,
- welche in diesem Territorium enthalten sind. Der <acronym>ISO</acronym>
- Territory Code ('territory') wird als Arrayschlüssel und das Regex als
- Arraywert verwendet.
- </entry>
- </row>
- <row>
- <entry><emphasis>NumberingSystem</emphasis></entry>
- <entry>
- Gibt eine Liste von Skripten zurück mit die Schreibweise der
- Ziffern, die in diesem Skript verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>FallbackToChar</emphasis></entry>
- <entry>
- Gibt eine Liste von Ersatzzeichen für oft verwendete Unicode Zeichen
- zurück. Das kann verwendet werden um zum Beispiel "©" mit "(C)" zu
- ersetzen
- </entry>
- </row>
- <row>
- <entry><emphasis>CharToFallback</emphasis></entry>
- <entry>
- Gibt eine Liste von Unicode Zeichen für oft verwendete Ersatzzeichen
- zurück. Das kann verwendet werden um zum Beispiel "(C)" mit "©" zu
- ersetzen
- </entry>
- </row>
- <row>
- <entry><emphasis>LocaleUpgrade</emphasis></entry>
- <entry>
- Gibt eine Liste von Abhängigkeiten von Gebietsschemata zurück die
- verwendet werden kann um eine Sprache in ein voll qualifiziertes
- Gebietsschema hochzurüsten.
- </entry>
- </row>
- <row>
- <entry><emphasis>Unit</emphasis></entry>
- <entry>
- Gibt eine Liste von lokalisierten Einheiten von Kalendern zurück.
- Das kann verwendet werden um die Wörter "Tag", "Monat" und so weiter
- automatisch übersetzen zu lassen
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <para>
- Wenn nur ein einzelner übersetzter Wert benötigt wird, kann die
- <methodname>getTranslation()</methodname> Methode verwendet werden. Diese gibt immer
- einen String zurück, akzeptiert aber einige andere Typen als die
- <methodname>getTranslationList()</methodname> Methode. Auch der Wert ist der gleiche wie
- vorher mit einem Unterschied. Das Detail das man zurückerhalten will muß als
- zusätzlicher Wert angegeben werden
- </para>
- <note>
- <para>
- Weil immer ein Wert als Detail angegeben werden muß, muss dieser Parameter als
- erster Parameter angegeben werden. Das unterscheidet sich von der
- <methodname>getTranslationList()</methodname> Methode.
- </para>
- </note>
- <para>
- Siehe die folgende Tabelle für detailierte Informationen:
- </para>
- <table id="zend.locale.getdata.table-2">
- <title>Details für getTranslation($value = null, $type = null, $locale = null)</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Typ</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><emphasis>Language</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für eine Sprache zurück. Um die gewünschte
- Übersetzung auszuwählen muß der Sprachcode als Wert angegeben werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Script</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für eine Schrift zurück. Um die gewünschte
- Übersetzung auszuwählen muß der Schriftcode als Wert angegeben werden
- </entry>
- </row>
- <row>
- <entry>
- <emphasis>Territory</emphasis> oder <emphasis>Country</emphasis>
- </entry>
- <entry>
- Gibt eine Übersetzung für ein Territorium zurück. Das können Länder,
- Kontinente und Territorien sein. Um die gewünschte Variante auszuwählen
- muß der Territory Code als Wert angegeben werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Variant</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für eine Schriftvariante zurück. Um die gewünschte
- Variante auszuwählen muß der Code der Variante als Wert angegeben werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Key</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für einen bekannten Schlüssel zurück. Diese
- Schlüssel sind generische Werte die in Übersetzungen verwendet werden.
- Das sind normalerweise Kalender, Sammlung und Währung. Um den
- gewünschten Schlüssel auszuwählen muß der Schlüsselcode als Wert
- angegeben werden
- </entry>
- </row>
- <row>
- <entry><emphasis>DefaultCalendar</emphasis></entry>
- <entry>
- Gibt den Standardkalender für das angegebene Gebietsschema zurück. Für
- die meisten wird das 'gregorian' (gregorianisch) sein. Der Einfachheit
- halber sollte <link linkend="zend.date.introduction">Zend_Date</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>MonthContext</emphasis></entry>
- <entry>
- Gibt den Standardkontext für Monate zurück der im angegebenen Kalender
- verwendet wird. Wenn der Wert nicht angegeben wird, wird der 'gregorian'
- (gregorianische) Kalender verwendet. Der Einfachheit halber sollte
- <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>DefaultMonth</emphasis></entry>
- <entry>
- Gibt das Standardformat für Monate zurück die im angegebene Kalender
- verwendet werden. Wenn der Wert nicht angegeben wird, dann wird der
- 'gregorian' (gregorianische) Kalender verwendet. Der Einfachheit halber
- sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
- werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Month</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für ein Monat zurück. Es muß die Nummer des Monats
- als Ganzzahlwert angegeben werden. Er muß zwischen 1 und 12 sein. Wenn
- man die Daten für andere Kalender, Kontexte oder Formate empfangen will,
- muß ein Array statt einem Ganzzahlwert mit dem erwarteten Wert angegeben
- werden. Das Array muß wie folgt aussehen: <code>array('calendar',
- 'context', 'format', 'month number')</code>. Wenn nur ein Ganzzahlwert
- angegeben wird, sind die Standardwerte der 'gregorian' (Gregorianische)
- Kalender, der Kontext 'format' und das Format 'wide'. Der Einfachheit
- halber sollte <link linkend="zend.date.introduction">Zend_Date</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>DayContext</emphasis></entry>
- <entry>
- Gibt den Standardkontext für Tage zurück der im angegebenen Kalender
- verwendet wird. Wenn der Wert nicht angegeben wird, wird der 'gregorian'
- (gregorianische) Kalender verwendet. Der Einfachheit halber sollte
- <link linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>DefaultDay</emphasis></entry>
- <entry>
- Gibt das Standardformat für Tage zurück die im angegebene Kalender
- verwendet werden. Wenn der Wert nicht angegeben wird, dann wird der
- 'gregorian' (gregorianische) Kalender verwendet. Der Einfachheit halber
- sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
- werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Day</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für einen Tag zurück. Es muß die englische
- Abkürzung des Tages als Stringwert angegeben werden ('sun', 'mon',
- usw.). Wenn man die Daten für andere Kalender, Kontexte oder Formate
- empfangen will, muß ein Array statt einem Ganzzahlwert mit dem
- erwarteten Wert angegeben werden. Das Array muß wie folgt aussehen:
- <methodname>array('calendar', 'context', 'format',
- 'day abbreviation')</methodname>.
- Wenn nur ein String angegeben wird, sind die Standardwerte der
- 'gregorian' (Gregorianische) Kalender, der Kontext 'format' und das
- Format 'wide'. Der Einfachheit halber sollte <link
- linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Quarter</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für ein Quartal zurück. Es muß die Nummer des
- Quartals Ganzzahl angegeben werden und diese muß zwischen 1 und 4 sein.
- Wenn man die Daten für andere Kalender, Kontexte oder Formate empfangen
- will, muß ein Array statt einem Ganzzahlwert mit dem erwarteten Wert
- angegeben werden. Das Array muß wie folgt aussehen:
- <methodname>array('calendar', 'context', 'format',
- 'quarter number')</methodname>.
- Wenn nur ein String angegeben wird, sind die Standardwerte der
- 'gregorian' (Gregorianische) Kalender, der Kontext 'format' und das
- Format 'wide'
- </entry>
- </row>
- <row>
- <entry><emphasis>Am</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für 'AM' in dem erwarteten Gebietsschema zurück.
- Wenn man die Daten für andere Kalender empfangen will, muß ein String
- mit dem erwarteten Kalender angegeben werden. Wenn der Wert nicht
- angegeben wird, dann wird der 'gregorian' (Gregorianische) Kalender
- verwendet. Der Einfachheit halber sollte <link
- linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Pm</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für 'PM' in dem erwarteten Gebietsschema zurück.
- Wenn man die Daten für andere Kalender empfangen will, muß ein String
- mit dem erwarteten Kalender angegeben werden. Wenn der Wert nicht
- angegeben wird, dann wird der 'gregorian' (Gregorianische) Kalender
- verwendet. Der Einfachheit halber sollte <link
- linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Era</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für eine Epoche zurück. Es muß die Nummer der
- Epoche als Ganzzahl oder String angegeben werden. Wenn man die Daten
- für andere Kalender oder Formate empfangen will, muß ein Array statt
- einem Ganzzahlwert mit dem erwarteten Wert angegeben werden. Das Array
- muß wie folgt aussehen: <code>array('calendar', 'format',
- 'era number')</code>. Wenn nur ein String angegeben wird, sind die
- Standardwerte der 'gregorian' (Gregorianische) Kalender und das Format
- 'abbr'
- </entry>
- </row>
- <row>
- <entry><emphasis>DefaultDate</emphasis></entry>
- <entry>
- Gibt das Standard Datumsformat zurück das im angegebenen Kalender
- verwendet wird. Wenn der Wert nicht angegeben wird, dann wird der
- 'gregorian' (Gregorianische) Kalender verwendet. Der Einfachheit halber
- sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
- werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Date</emphasis></entry>
- <entry>
- Gibt das Datumsformat für einen angegebenen Kalender oder Format in
- einem Gebietsschema zurück. Wenn kein Wert angegeben wird, dann wird der
- 'gregorian' (Gregorianische) Kalender mit dem Format 'medium' verwendet.
- Wenn ein String angegeben wird, dann wird der 'gregorian'
- (Gregorianische) Kalender mit dem angegebenen Format verwendet. Oder es
- kann auch ein Array angegeben welches wie folgt aussehen muß:
- <methodname>array('calendar', 'format')</methodname>. Der Einfachheit
- halber sollte <link linkend="zend.date.introduction">Zend_Date</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>DefaultTime</emphasis></entry>
- <entry>
- Gibt das Standard Zeitformat zurück das im angegebenen Kalender
- verwendet wird. Wenn der Wert nicht angegeben wird, dann wird der
- 'gregorian' (Gregorianische) Kalender verwendet. Der Einfachheit halber
- sollte <link linkend="zend.date.introduction">Zend_Date</link> verwendet
- werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Time</emphasis></entry>
- <entry>
- Gibt das Zeitformat für einen angegebenen Kalender oder Format in einem
- Gebietsschema zurück. Wenn kein Wert angegeben wird, dann wird der
- 'gregorian' (Gregorianische) Kalender mit dem Format 'medium' verwendet.
- Wenn ein String angegeben wird, dann wird der 'gregorian'
- (Gregorianische) Kalender mit dem angegebenen Format verwendet. Oder es
- kann auch ein Array angegeben welches wie folgt aussehen muß:
- <methodname>array('calendar', 'format')</methodname>. Der Einfachheit
- halber sollte <link linkend="zend.date.introduction">Zend_Date</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>DateTime</emphasis></entry>
- <entry>
- Gibt das Datums-Zeitformat für ein angegebenes Gebietsschema zurück
- welches anzeigt wie Datum und Zeit im selben String des angegebenen
- Kalenders angezeigt werden sollten. Wenn kein Wert angegeben wird, dann
- wird der 'gregorian' (Gregorianische) Kalender verwendet. Der
- Einfachheit halber sollte <link
- linkend="zend.date.introduction">Zend_Date</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>DateItem</emphasis></entry>
- <entry>
- Gibt das Standardformat für ein angegebenes Datum oder Zeitelement
- zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>DateInterval</emphasis></entry>
- <entry>
- Gibt das Intervallformat für ein gegebenes Datums- oder Zeitformat
- zurück. Der erste Wert ist das Kalenderformat, normalerweise
- 'gregorian'. Der zweite Wert ist das Intervallformat, und der dritte
- Wert ist das Token mit der größten Different. Zum Beispiel:
- array('gregorian', 'yMMMM', 'y') gibt das Intervallformat für das
- Datumsformat 'yMMMM' zurück, wobei 'y' die größte Differenz hat.
- </entry>
- </row>
- <row>
- <entry><emphasis>Field</emphasis></entry>
- <entry>
- Gibt ein übersetztes Datumsfeld zurück welches verwendet werden kann um
- Kalender oder Datumsstrings wie 'Monat' oder 'Jahr' in der gewünschten
- Sprache korrekt anzuzeigen. Das Feld das als String zurückgegeben werden
- soll muß angegeben werden. In diesem Fall wird der 'gregorian'
- (Gregorianische) Kalender verwendet. Wenn man die Felder für andere
- Kalenderformat erhalten will muß ein Array angegeben werden das wie
- folgt auszusehen hat: <methodname>array('calendar',
- 'date field')</methodname>
- </entry>
- </row>
- <row>
- <entry><emphasis>Relative</emphasis></entry>
- <entry>
- Gibt ein übersetztes Datums zurück welches relativ zu heute ist. Dieses
- kann Strings wie 'Gestern' oder 'Morgen' in einer gewünschten Sprache
- enthalten. Es muß die Anzahl der relativen Tage zu heute angegeben
- werden um den erwarteten String zu erhalten. Gestern würde '-1' sein,
- morgen '1' und so weiter. Es wird hierbei der 'gregorian'
- (Gregorianische) Kalender verwendet. Wenn man die relativen Daten für
- andere Kalenderformat erhalten will muß ein Array angegeben werden das
- wie folgt auszusehen hat: <methodname>array('calendar',
- 'date field')</methodname>
- </entry>
- </row>
- <row>
- <entry><emphasis>DecimalNumber</emphasis></entry>
- <entry>
- Gibt das Format für Dezimalzahlen in einem angegebenen Gebietsschema
- zurück. Der Einfachheit halber sollte <link
- linkend="zend.locale.parsing">Zend_Locale_Format</link> verwendet
- werden
- </entry>
- </row>
- <row>
- <entry><emphasis>ScientificNumber</emphasis></entry>
- <entry>
- Gibt das Format für Wissenschaftliche Zahlen im angegebenen
- Gebietsschema zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>PercentNumber</emphasis></entry>
- <entry>
- Gibt das Format für Prozentzahlen im angegebenen Gebietsschema zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencyNumber</emphasis></entry>
- <entry>
- Gibt das Format für die Anzeige von Währungszahlen in einem angegebenen
- Gebietsschema zurück. Der Einfachheit halber sollte
- <link linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>NameToCurrency</emphasis></entry>
- <entry>
- Gibt einen übersetzten Namen für eine angegebene Währung zurück. Die
- Währung muß im <acronym>ISO</acronym> Format angegeben werden welches
- zum Beispiel 'EUR' für die Währung 'Euro' ist. Der Einfachheit halber
- sollte <link linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencyToName</emphasis></entry>
- <entry>
- Gibt eine Währung für einen angegebenen lokalisierten Namen zurück. Der
- Einfachheit halber sollte
- <link linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencySymbol</emphasis></entry>
- <entry>
- Gibt das für eine Währung verwendete Symbol in einem Gebietsschema
- zurück. Nicht für alle Währungen existiert ein Symbol. Der Einfachheit
- halber sollte <link
- linkend="zend.currency.introduction">Zend_Currency</link> verwendet
- werden
- </entry>
- </row>
- <row>
- <entry><emphasis>Question</emphasis></entry>
- <entry>
- Gibt einen lokalisierten String für Akzeptanz ('yes') und Verneinung
- ('no') zurück. Es muß entweder 'yes' oder 'no' als Wert angegeben werden
- um den erwarteten String zu erhalten. Der Einfachheit halber sollte
- <link linkend="zend.locale.getquestion">Zend_Locale's getQuestion
- Methode</link> verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencyFraction</emphasis></entry>
- <entry>
- Gibt den Bruch der für eine angegebene Währung zu verwenden ist, zurück.
- Die Währung muß als <acronym>ISO</acronym> Wert angegeben werden. Der
- Einfachheit halber sollte <link
- linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencyRounding</emphasis></entry>
- <entry>
- Gibt zurück wie eine angegebene Währung gerundet werden muß. Die Währung
- muß als <acronym>ISO</acronym> Wert angegeben werden. Wenn die Währung
- nicht angegeben wird das wird die 'DEFAULT' (Standard) Rundung
- zurückgegeben. Der Einfachheit halber sollte <link
- linkend="zend.currency.introduction">Zend_Currency</link> verwendet
- werden
- </entry>
- </row>
- <row>
- <entry><emphasis>CurrencyToRegion</emphasis></entry>
- <entry>
- Gibt die Währung für eine angegebene Region zurück. Der Regionscode muß
- als <acronym>ISO3166</acronym> String angegeben werden zum Beispiel 'AT'
- für Österreich. Der Einfachheit halber sollte <link
- linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>RegionToCurrency</emphasis></entry>
- <entry>
- Gibt die Regionen zurück in denen eine Währung verwendet wird. Die
- Währung muß als <acronym>ISO4217</acronym> Code angegeben werden, zum
- Beispiel 'EUR' für Euro. Wenn eine Währung in mehreren Regionen
- verwendet wird, werden diese Regionen mit einem Leerzeichen getrennt.
- Der Einfachheit halber sollte <link
- linkend="zend.currency.introduction">Zend_Currency</link>
- verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>RegionToTerritory</emphasis></entry>
- <entry>
- Gibt die Regionen für ein angegebenes Territorium zurück. Das
- Territorium muß als <acronym>ISO4217</acronym> String angegeben werden
- zum Beispiel '001' für Weltweit. Die Regionen in diesem Territorium
- werden mit einem Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToRegion</emphasis></entry>
- <entry>
- Gibt die Territorien zurück in denen eine angegebene Region enthalten
- ist. Diese Region muß als <acronym>ISO3166</acronym> String angegeben
- werden zum Beispiel 'AT' für Österreich. Wenn eine region in mehreren
- Territorien enthalten ist, werden diese Territorien mit einem
- Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>ScriptToLanguage</emphasis></entry>
- <entry>
- Gibt die Schriften zurück die in einer angegebenen Sprache verwendet
- werden. Die Sprache muß als <acronym>ISO</acronym> Sprachcode angegeben
- werden zum Beispiel 'en' für englisch. Wenn mehrere Schriften in einer
- Sprache verwendet werden dann werden diese Schriften mit einem
- Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>LanguageToScript</emphasis></entry>
- <entry>
- Gibt die Sprachen zurück die in einer angegebenen Schrift verwendet
- werden. Die Schrift muß als <acronym>ISO</acronym> Schriftcode angegeben
- werden zum Beispiel 'Latn' für lateinisch. Wenn eine Schrift in mehreren
- Sprachen verwendet wird dann werden diese Sprachen mit einem Leerzeichen
- getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToLanguage</emphasis></entry>
- <entry>
- Gibt die Territorien zurück die in einer angegebenen Sprache verwendet
- werden. Die Sprache muß als <acronym>ISO</acronym> Sprachcode angegeben
- werden zum Beispiel 'en' für englisch. Wenn mehrere Sprachen in einem
- Territorien verwendet werden dann werden diese Sprachen mit einem
- Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>LanguageToTerritory</emphasis></entry>
- <entry>
- Gibt die Sprachen zurück die in einem angegebenen Territorium verwendet
- werden. Das Territorium muß als <acronym>ISO3166</acronym> Code
- angegeben werden zum Beispiel 'IT' für italienisch. Wenn eine Sprache in
- mehreren Territorien verwendet wird dann werden diese Territorien mit
- einem Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>TimezoneToWindows</emphasis></entry>
- <entry>
- Gibt eine <acronym>ISO</acronym> Zeitzone für eine angegebene Windows
- Zeitzone zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>WindowsToTimezone</emphasis></entry>
- <entry>
- Gibt eine Windows Zeitzone für eine angegebene <acronym>ISO</acronym>
- Zeitzone zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToTimezone</emphasis></entry>
- <entry>
- Gibt ein Territorium für eine angegebene <acronym>ISO</acronym> Zeitzone
- zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>TimezoneToTerritory</emphasis></entry>
- <entry>
- Gibt die <acronym>ISO</acronym> Zeitzone für ein angegebenes Territorium
- zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>CityToTimezone</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Stadt für eine angegebene <acronym>ISO</acronym>
- Zeitzone zurück. Nicht für alle Zeitzonen existiert eine Übersetzung
- einer Stadt
- </entry>
- </row>
- <row>
- <entry><emphasis>TimezoneToCity</emphasis></entry>
- <entry>
- Gibt die <acronym>ISO</acronym> Zeitzone für einen angegebenen
- lokalisierten Namen einer Stadt zurück. Nicht für alle Städte existiert
- eine Zeitzone
- </entry>
- </row>
- <row>
- <entry><emphasis>PhoneToTerritory</emphasis></entry>
- <entry>
- Gibt den Telefoncode für ein angegebenes Territorium (Region) zurück.
- Der Code des Territoriums muß als <acronym>ISO3166</acronym> String
- angegeben werden, z.B. 'AT' für Österreich
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToPhone</emphasis></entry>
- <entry>
- Gibt das Territorium (Region) zurück in dem ein Telefoncode verwendet
- wird. Der Telefoncode muß als reiner Integerwert angegeben werden, z.B.
- '43' für +43. Wenn ein Telefoncode verwendet wird der in mehreren
- Territorien (Regionen) verwendet wird, werden diese Territorien mit
- einem Leerzeichen getrennt
- </entry>
- </row>
- <row>
- <entry><emphasis>NumericToTerritory</emphasis></entry>
- <entry>
- Gibt den 3 stelligen Nummerncode für ein angegebenes Territorium
- (Region) zurück. Der Code des Territoriums muß als
- <acronym>ISO3166</acronym> String angegeben werden, z.B. 'AR' für
- Österreich
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToNumeric</emphasis></entry>
- <entry>
- Gibt as Territorium (Region) für einen 3 stelligen Nummerncode zurück.
- Der 3 stellige Nummerncode muß als reine Integerzahl angegeben werden,
- zum Beispiel '43'
- </entry>
- </row>
- <row>
- <entry><emphasis>Alpha3ToTerritory</emphasis></entry>
- <entry>
- Gibt den 3 stelligen Zeichencode für ein angegebenes Territorium
- (Region) zurück. Der Code des Territoriums (Region) muß als
- <acronym>ISO3166</acronym> String angegeben werden, zum Beispiel 'AT'
- für Österreich
- </entry>
- </row>
- <row>
- <entry><emphasis>TerritoryToAlpha3</emphasis></entry>
- <entry>
- Gibt das Territorium (Region) für einen 3 stelligen Zeichencode zurück
- </entry>
- </row>
- <row>
- <entry><emphasis>PostalToTerritory</emphasis></entry>
- <entry>
- Gibt ein Regex für den Post Code eines angegebenen Territoriums zurück.
- Das Territorium muss als <acronym>ISO4217</acronym> String angegeben
- werden, zum Beispiel '001' für Welt
- </entry>
- </row>
- <row>
- <entry><emphasis>NumberingSystem</emphasis></entry>
- <entry>
- Gibt ein Skript mit der Schreibweise der Ziffern zurück, die in diesem
- Skript verwendet werden
- </entry>
- </row>
- <row>
- <entry><emphasis>FallbackToChar</emphasis></entry>
- <entry>
- Gibt ein Ersatzzeichen für ein oft verwendetes Unicode Zeichen zurück.
- Das kann verwendet werden um zum Beispiel "©" mit "(C)" zu ersetzen
- </entry>
- </row>
- <row>
- <entry><emphasis>CharToFallback</emphasis></entry>
- <entry>
- Gibt ein Unicode Zeichen für ein oft verwendetes Ersatzzeichen zurück.
- Das kann verwendet werden um zum Beispiel "(C)" mit "©" zu ersetzen
- </entry>
- </row>
- <row>
- <entry><emphasis>LocaleUpgrade</emphasis></entry>
- <entry>
- Gibt die Abhängigkeit eines Gebietsschemas zurück die
- verwendet werden kann um eine Sprache in ein voll qualifiziertes
- Gebietsschema hochzurüsten.
- </entry>
- </row>
- <row>
- <entry><emphasis>Unit</emphasis></entry>
- <entry>
- Gibt eine lokalisierte Einheit eines Kalenders zurück. Das kann
- verwendet werden um die Wörter "Tag", "Monat" und so weiter automatisch
- übersetzen zu lassen. Der erste Parameter muß ein Typ sein, und der
- zweite Parameter muß eine Anzahl sein
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <note>
- <para>
- Mit dem Zend Framework 1.5 wurde verschiedene alte Typen umbenannt. Das wurde
- notwendig durch verschiedene neue Typen, einige Schreibfehler und die Erhöhung der
- Verwendbarkeit. Die folgende Tabelle zeigt eine Liste von alten und neuen Typen:
- </para>
- </note>
- <table id="zend.locale.getdata.table-3">
- <title>Unterschiede zwischen Zend Framework 1.0 und 1.5</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Alter Typ</entry>
- <entry>Neuer Typ</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Country</entry>
- <entry>Territory (mit dem Wert '2')</entry>
- </row>
- <row>
- <entry>Calendar</entry>
- <entry>Type (mit dem Wert 'calendar')</entry>
- </row>
- <row>
- <entry>Month_Short</entry>
- <entry>Month (mit dem Array('gregorian', 'format', 'abbreviated')</entry>
- </row>
- <row>
- <entry>Month_Narrow</entry>
- <entry>Month (mit dem Array('gregorian', 'stand-alone', 'narrow')</entry>
- </row>
- <row>
- <entry>Month_Complete</entry>
- <entry>Months</entry>
- </row>
- <row>
- <entry>Day_Short</entry>
- <entry>Day (mit dem Array('gregorian', 'format', 'abbreviated')</entry>
- </row>
- <row>
- <entry>Day_Narrow</entry>
- <entry>Day (mit dem Array('gregorian', 'stand-alone', 'narrow')</entry>
- </row>
- <row>
- <entry>DateFormat</entry>
- <entry>Date</entry>
- </row>
- <row>
- <entry>TimeFormat</entry>
- <entry>Time</entry>
- </row>
- <row>
- <entry>Timezones</entry>
- <entry>CityToTimezone</entry>
- </row>
- <row>
- <entry>Currency</entry>
- <entry>NameToCurrency</entry>
- </row>
- <row>
- <entry>Currency_Sign</entry>
- <entry>CurrencySymbol</entry>
- </row>
- <row>
- <entry>Currency_Detail</entry>
- <entry>CurrencyToRegion</entry>
- </row>
- <row>
- <entry>Territory_Detail</entry>
- <entry>TerritoryToRegion</entry>
- </row>
- <row>
- <entry>Language_Detail</entry>
- <entry>LanguageToTerritory</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <para>
- Das folgende Beispiel zeigt wie man die Namen für Dinge in verschiedenen Sprachen
- erhalten kann.
- </para>
- <example id="zend.locale.getdata.example-3">
- <title>getTranslationList</title>
- <programlisting language="php"><![CDATA[
- $locale = new Zend_Locale('en_US');
- // Gibt die Namen aller Länder in der Französischen Sprache aus
- print_r(Zend_Locale::getTranslationList('country', 'fr'));
- ]]></programlisting>
- </example>
- <para>
- Das nächste Beispiel zeigt wie der Name einer Sprache in einer anderen Sprache gefunden
- werden kann, wenn der zwei-Zeichen ISO Länder-Code unbekannt ist.
- </para>
- <example id="zend.locale.getdata.example-4">
- <title>Konvertierung des Ländernamens von einer Sprache in eine andere Sprache</title>
- <programlisting language="php"><![CDATA[
- $locale = new Zend_Locale('en_US');
- $code2name = $locale->getLanguageTranslationList();
- $name2code = array_flip($code2name);
- $frenchCode = $name2code['French'];
- echo $locale->getLanguageTranslation($frenchCode, 'es');
- // Ausgegeben wird der Spanische Name der Fransösischen Sprache
- ]]></programlisting>
- </example>
- <para>
- Um von <classname>Zend_Locale</classname> eine Liste aller bekannten Sprachen zu
- bekommen wobei jede Sprache in Ihrer eigenen Sprache geschrieben wird, kann das untere
- Beispiel in einer Web Seite benutzt werden. Genauso können
- <methodname>getCountryTranslationList()</methodname> und
- <methodname>getCountryTranslation()</methodname> benutzt werden um eine Tabelle zu
- erhalten die Namen für Muttersprachen einer Region und Namen für Regionen in einer
- anderen Sprache zu erhalten. Man muß einen <code>try .. catch</code> Block benutzen um
- Ausnahmen abzufangen die auftreten wenn ein Gebietsschema benutzt wird das nicht
- existiert. Nicht alle Sprachen sind auch ein Gebietsschema. Im Beispiel werden die
- Ausnahmen ignoriert um einen frühen Abbruch zu verhindern.
- </para>
- <example id="zend.locale.getdata.example-6">
- <title>Alle Sprachen geschrieben in Ihrer Muttersprache</title>
- <programlisting language="php"><![CDATA[
- $list = Zend_Locale::getLanguageTranslationList('auto');
- foreach($list as $language => $content) {
- try {
- $output = Zend_Locale::getLanguageTranslation($language, $language);
- if (is_string($output)) {
- print "\n<br>[".$language."] ".$output;
- }
- } catch (Exception $e) {
- continue;
- }
- }
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.locale.getquestion">
- <title>Übersetzungen für "Ja" und "Nein" erhalten</title>
- <para>
- Oft müssen Programme eine "Ja" oder "Nein" Rückmeldung eines Benutzers erkennen.
- <methodname>getQuestion()</methodname> gibt ein Array zurück welches die richtigen
- Wörter oder Regex Zeichenketten enthält um einem Benutzer in einer bestimmten $locale zu
- antworten (Standardmäßig das aktuelle Gebietsschema des Objekts). Das zurückgegebene
- Array enthält die folgenden Informationen:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>
- yes und no</emphasis>: Eine generelle Stringrepräsentation für Ja und Nein
- Antworten. Es enthält die erste und generellste Antwort von yesarray und
- noarray.
- </para>
- <para>
- <emphasis>yesarray und noarray</emphasis>: Ein Array mit allen bekannten
- Ja und Nein Antworten. Diverse Sprachen haben mehr als nur zwei Antworten.
- Normalerweise ist das der komplette String und seine Abkürzung.
- </para>
- <para>
- <emphasis>yesexpr und noexpr</emphasis>: Ein ersteller Regex String des es
- erlaubt Benutzerantworten zu behandeln und nach Ja und Nein zu suchen.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Alle diese Informationen sind natürlich lokalisiert und hängen vom eingestellten
- Gebietsschema ab. Das folgende Beispiel zeigt die Informationen die empfangen werden
- können:
- </para>
- <example id="zend.locale.getquestion.example-1">
- <title>getQuestion()</title>
- <programlisting language="php"><![CDATA[
- $locale = new Zend_Locale();
- // Zeichenketten für Fragen
- print_r($locale->getQuestion('de'));
- - - - Output - - -
- Array
- (
- [yes]ja[/yes]
- [no]nein[/no]
- [yesabbr]j[/yesabbr]
- [noabbr]n[/noabbr]
- [yesexpr]^([yY]([eE][sS])?)|([jJ][aA]?)[/yesexpr]
- [noexpr]^([nN]([oO]|([eE][iI][nN]))?)[/noexpr]
- )
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.locale.getlocalelist">
- <title>Eine Liste aller bekannten Gebietsschemata erhalten</title>
- <para>
- Manchmal will man eine Liste aller bekannten Gebietsschemata erhalten. Das kann für die
- verschiedensten Aufgaben nützlich sein, zum Beispiel für die Erstellung einer
- Auswahlbox. Für diesen Zweck kann die statische <methodname>getLocaleList()</methodname>
- Methode verwender werden, welche eine Liste aller bekannten Gebietsschemata zurückgibt.
- </para>
- <example id="zend.locale.getlocalelist.example-1">
- <title>getLocaleList()</title>
- <programlisting language="php"><![CDATA[
- $localelist = Zend_Locale::getLocaleList();
- ]]></programlisting>
- </example>
- <note>
- <para>
- Es ist zu beachten das die Gebietsschemata als Schlüssel des Arrays das man erhält
- zurück gegeben werden. Der Wert ist immer ein Boolsches True.
- </para>
- </note>
- </sect2>
- <sect2 id="zend.locale.detection">
- <title>Erkennen von Gebietsschemata</title>
- <para>
- Wenn man erkennen will ob eine vorhandene Eingabe. unabhängig von Ihrer Quelle, ein
- Gebietsschema ist, sollte man die statische <methodname>isLocale()</methodname> Methode
- verwenden. Der erste Parameter dieser Methode ist der String den man prüfen will.
- </para>
- <example id="zend.locale.detection.example-1">
- <title>Einfache Erkennung des Gebietsschemas</title>
- <programlisting language="php"><![CDATA[
- $input = 'to_RU';
- if (Zend_Locale::isLocale($input)) {
- print "'{$input}' ist ein Gebietsschema";
- } else {
- print "Sorry... die vorhandene Eingabe ist kein Gebietsschema";
- }
- ]]></programlisting>
- </example>
- <para>
- Wie man sieht ist die Ausgabe dieser Methode immer ein boolscher Wert. Es gibt nur einen
- Grund warum man eine Ausnahme erhält wenn diese Methode aufgerufen wird. Wenn das eigene
- System kein Gebietsschema anbietet und Zend Framework nicht in der Lage ist dieses
- automatisch zu erkennen. Normalerweise zeigt dieses, das ein Problem mit dem eigenen OS
- in Kombination mit <acronym>PHP</acronym>'s <methodname>setlocale()</methodname>
- vorhanden ist.
- </para>
- <para>
- Man sollte auch beachten das jeder angegebene Gebietsschema String automatisch
- degradiert wird wenn der Regionsabschnitt für dieses Gebietsschema nicht existiert. In
- unserem vorherigen Beispiel existiert die Region <code>'RU'</code> nicht für die Sprache
- <code>'to'</code>, aber es wird trotzdem true zurückgegeben da
- <classname>Zend_Locale</classname> mit der vorhandenen Eingabe arbeiten kann.
- </para>
- <para>
- Trotzdem ist es manchmal nützlich diese automatische Degradierung zu verhindern, und
- hier kommt der zweite Parameter von <methodname>isLocale()</methodname> zu Tragen. Der
- <code>strict</code> Parameter ist Standardmäßig <constant>FALSE</constant> und kann
- verwendet werden um die automatische Degradierung zu verhindern wenn er auf
- <constant>TRUE</constant> gesetzt wird.
- </para>
- <example id="zend.locale.detection.example-2">
- <title>Strikte Erkennung des Gebietsschemas</title>
- <programlisting language="php"><![CDATA[
- $input = 'to_RU';
- if (Zend_Locale::isLocale($input, true)) {
- print "'{$input}' ist ein Gebietsschema";
- } else {
- print "Sorry... die vorhandene Eingabe ist kein Gebietsschema";
- }
- ]]></programlisting>
- </example>
- <para>
- Jetzt da man in der Lage zu Erkennen ob ein vorhandenen String ein Gebietsschema ist
- kann man Gebietsschema bezogenes Verhalten in seine eigenen Klassen hinzufügen. Aber man
- wird schnell erkennen das das immer zu den gleichen 15 Zeilen Code führt. Etwas
- ähnliches wie das folgende Beispiel:
- </para>
- <example id="zend.locale.detection.example-3">
- <title>Implementierung von Gebietsschema bezogenem Verhalten</title>
- <programlisting language="php"><![CDATA[
- if ($locale === null) {
- $locale = new Zend_Locale();
- }
- if (!Zend_Locale::isLocale($locale, true, false)) {
- if (!Zend_Locale::isLocale($locale, false, false)) {
- throw new Zend_Locale_Exception(
- "Das Gebietsschema '$locale' ist kein bekanntes Gebietsschema");
- }
- $locale = new Zend_Locale($locale);
- }
- if ($locale instanceof Zend_Locale) {
- $locale = $locale->toString();
- }
- ]]></programlisting>
- </example>
- <para>
- Mit Zend Framework 1.8 haben wir die statische <methodname>findLocale()</methodname>
- Methode hinzugefügt welche einen Gebietsschema-String zurückgibt mit dem man arbeiten
- kann. Sie führt die folgenden Arbeiten durch:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Erkennt ob ein angegebener String ein Gebietsschema ist
- </para>
- </listitem>
- <listitem>
- <para>
- Degradiert das Gebietsschema wenn es in der angegebenen Region nicht existiert
- </para>
- </listitem>
- <listitem>
- <para>
- Gibt das vorher gesetzte Anwendungsweite Gebietsscheam zurück wenn keine Eingabe
- angegeben wurde
- </para>
- </listitem>
- <listitem>
- <para>
- Erkennt das Gebietsschema vom Browser wenn die vorherigen Erkennungen
- fehlgeschlagen sind
- </para>
- </listitem>
- <listitem>
- <para>
- Erkennt das Gebietsschema vom Betriebssystem wenn die vorherigen Erkennungen
- fehlgeschlagen sind
- </para>
- </listitem>
- <listitem>
- <para>
- Erkennt das Gebietsschema vom Framework wenn die vorherigen Erkennungen
- fehlgeschlagen sind
- </para>
- </listitem>
- <listitem>
- <para>
- Gibt immer einen String zurück der das gefundene Gebietsschema repräsentiert
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Das folgende Beispiel zeigt wie diese Prüfungen und der obige Code mti einem einfachen
- Aufruf vereinfacht werden kann:
- </para>
- <example id="zend.locale.detection.example-4">
- <title>Gebietsschema bezogenes Verhalten mit Zend Framework 1.8</title>
- <programlisting language="php"><![CDATA[
- $locale = Zend_Locale::findLocale($inputstring);
- ]]></programlisting>
- </example>
- </sect2>
- </sect1>
|