| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: 22755 -->
- <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 unter 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 <command>$locale->toString()</command>.
- </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 Objekts
- $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 bequeme 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 Gebietsschemata 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 oder 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-Gebietsschemata zurückgeben
- $found = $locale->getDefault();
- print_r($found);
- // Nur die Gebietsschemata des Browsers zurückgeben
- $found2 = $locale->getDefault(Zend_Locale::BROWSER, TRUE);
- print_r($found2);
- ]]></programlisting>
- </example>
- <para>
- Um nur die Standard-Gebietsschemata 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.
- </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.getlocaletoterritory">
- <title>Ein Gebietsschema durch die Angabe eines Territoriums erhalten</title>
- <para>
- Wenn man nur ein Territorium oder ein Land hat, dann ist es auch möglich aus diesen
- Informationen ein Gebietsschema zu erhalten. Man kann manuell suchen, ob es ein
- Gebietsschema für dieses Territorium gibt, indem man
- <methodname>getLocaleToTerritory()</methodname> verwendet. Diese Methode gibt ein
- Gebietsschema für das angegebene Territorium zurück, oder <constant>NULL</constant>
- wenn kein Gebietsschema gefunden werden konnte.
- </para>
- <example id="zend.locale.getlocaletoterritory.example-1">
- <title>getLocaleToTerritory</title>
- <programlisting language="php"><![CDATA[
- $locale = Zend_Locale::getLocaleToTerritory('US');
- // Gibt 'en_US' zurück
- ]]></programlisting>
- </example>
- <note>
- <title>Großgeschriebene Territorien</title>
- <para>
- Wenn man weiß dass man ein Territorium verwendet, dann sollte es großgeschrieben
- werden. Andernfalls könnte man der Meinung sein, ein falsches Gebietsschema zu
- erhalten, wenn man andere Methoden verwendet. Beispiel: Wenn man "om" angibt, dann
- gibt <methodname>getLocaleToTerritory()</methodname> "ar_OM" zurück, da es weiß
- dass man ein Territorium meint. Aber alle anderen Methoden werden "om" zurückgeben,
- da dies auch eine Sprache ist.
- </para>
- <para>
- Wenn man also weiß, dass ein angegebener String ein Territorium ist, dann sollte man
- entweder <methodname>getLocaleToTerritory()</methodname> selbst verwenden, bevor man
- ein Gebietsschema erstellt, oder die Eingabe groß schreiben.
- </para>
- </note>
- </sect2>
- <sect2 id="zend.locale.getdata">
- <title>Lokalisierte Zeichenketten erhalten</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 dass man alles übersetzen muss. 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 Sprachteil 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, muss '1' als Wert verwendet werden. Um nur die
- Länder zu erhalten muss '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 muss 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 muss 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 muss 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 muss 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 die
- <link linkend="zend.locale.getquestion">Methode getQuestion von
- Zend_Locale</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 muss. 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, dass 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
- zurück, welche in diesem Territorium enthalten sind. 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 zurück, die in einer Sprache verwendet
- werden. 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 Sprachen zurück und die Länder in welchen sie
- gesprochen werden. Das Land 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 mit den Sprachen zurück, welche in ihnen
- gesprochen werden. Der Ländercode wird als Arrayschlüssel und der
- Sprachcode wird als Arraywert zurückgegeben. Wenn verschiedene Sprachen
- in einem Land gesprochen werden, dann 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 wird 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 Nummerncodes 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-stelligen Nummerncode zurück.
- Der 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 mit der Schreibweise der
- Ziffern zurück, 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
- Methode <methodname>getTranslation()</methodname> verwendet werden. Diese gibt immer
- einen String zurück, akzeptiert aber einige andere Typen als die
- Methode <methodname>getTranslationList()</methodname>. Auch der Wert ist der gleiche wie
- vorher mit einem Unterschied. Das Detail, das man zurückerhalten will, muss als
- zusätzlicher Wert angegeben werden.
- </para>
- <note>
- <para>
- Weil immer ein Wert als Detail angegeben werden muss, muss dieser Parameter als
- erster Parameter angegeben werden. Das unterscheidet sich von der
- Methode <methodname>getTranslationList()</methodname>.
- </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, muss 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, muss 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,
- muss 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, muss 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, muss 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 einen Monat zurück. Es muss die Nummer des Monats
- als Ganzzahlwert angegeben werden. Er muss zwischen 1 und 12 sein. Wenn
- man die Daten für andere Kalender, Kontexte oder Formate empfangen will,
- muss ein Array statt einem Ganzzahlwert mit dem erwarteten Wert angegeben
- werden. Das Array muss wie folgt aussehen: <command>array('calendar',
- 'context', 'format', 'month number')</command>. 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, das im angegebene 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>Day</emphasis></entry>
- <entry>
- Gibt eine Übersetzung für einen Tag zurück. Es muss 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, muss ein Array statt einem Ganzzahlwert mit dem
- erwarteten Wert angegeben werden. Das Array muss 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 muss die Nummer des
- Quartals als Ganzzahl angegeben werden und diese muss zwischen 1 und 4 sein.
- Wenn man die Daten für andere Kalender, Kontexte oder Formate empfangen
- will, muss ein Array statt einem Ganzzahlwert mit dem erwarteten Wert
- angegeben werden. Das Array muss 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, muss 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, muss 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 muss die Nummer der
- Epoche als Ganzzahl oder String angegeben werden. Wenn man die Daten
- für andere Kalender oder Formate empfangen will, muss ein Array statt
- einem Ganzzahlwert mit dem erwarteten Wert angegeben werden. Das Array
- muss wie folgt aussehen: <command>array('calendar', 'format',
- 'era number')</command>. 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 muss:
- <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 muss:
- <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, muss angegeben werden. In diesem Fall wird der 'gregorian'
- (Gregorianische) Kalender verwendet. Wenn man die Felder für andere
- Kalenderformat erhalten will, muss 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 muss 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 muss 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 muss 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 muss 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 muss 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 muss. Die Währung
- muss als <acronym>ISO</acronym> Wert angegeben werden. Wenn die Währung
- nicht angegeben wird, 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 muss
- 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 muss 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 muss 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 muss 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 muss 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 muss 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 das Territorium zurück, in dem die angegebene Sprache verwendet
- wird. Die Sprache muss als <acronym>ISO</acronym> Sprachcode angegeben
- werden, zum Beispiel 'en' für englisch. Wenn die angegebene Sprache in
- mehreren Territorien verwendet wird, dann werden diese Sprachen mit
- einem Leerzeichen getrennt.
- </entry>
- </row>
- <row>
- <entry><emphasis>LanguageToTerritory</emphasis></entry>
- <entry>
- Gibt die Sprachen zurück, die in dem angegebenen Territorium gesprochen
- werden. Das Territorium muss als <acronym>ISO3166</acronym> Code
- angegeben werden, zum Beispiel 'IT' für italienisch. Wenn im angegebenen
- Territorium mehrere Sprachen gesprochen werden, 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 muss 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 muss 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 muss 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 muss 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) muss 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 muss ein Typ sein, und der
- zweite Parameter muss 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 muss einen <command>try .. catch</command> 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 Rückmeldung mit "Ja" oder "Nein" 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, der 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 Methode <methodname>getLocaleList()</methodname>
- verwendet 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, dass die Gebietsschemata als Schlüssel des Arrays
- zurückgegeben werden, das man erhält.
- 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 Methode <methodname>isLocale()</methodname>
- 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 dies, dass ein Problem mit dem eigenen OS
- in Kombination mit <methodname>setlocale()</methodname> von <acronym>PHP</acronym>
- vorhanden ist.
- </para>
- <para>
- Man sollte auch beachten, dass jeder angegebene Gebietsschema-String automatisch
- degradiert wird, wenn der Regionsabschnitt für dieses Gebietsschema nicht existiert. In
- unserem vorherigen Beispiel existiert die Region '<property>RU</property>' nicht für die
- Sprache '<property>to</property>', 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
- Parameter <property>strict</property> 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 zu den 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 Methode <methodname>findLocale()</methodname>
- 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>
- Erweitert das Gebietsschema, wenn dieses als Region ohne Sprache erkannt wurde.
- </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 mit 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>
|