| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 20115 -->
- <!-- 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 <constant>TRUE</constant>.
- </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 <constant>TRUE</constant> 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 dass 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>
|