| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 17175 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.locale.migration">
- <title>Migrieren von vorhergehenden Versionen</title>
- <para>
- Die <acronym>API</acronym> von <classname>Zend_Locale</classname> wurde von Zeit zu Zeit
- verändert. Wenn man begonnen hat <classname>Zend_Locale</classname> und seine
- Unterkomponenten in früheren Versionen dann sollte man den unteren Richtlinien folgen um die
- Skripte so zu migrieren das sie die neue <acronym>API</acronym> verwenden.
- </para>
- <sect2 id="zend.locale.migration.fromoneeighttoonenine">
- <title>Migrieren von 1.8 zu 1.9 oder neueren</title>
- <sect3 id="zend.locale.migration.fromoneeighttoonenine.depreciated">
- <title>Abgelaufene Methoden</title>
- <para>
- Einige spezialisiertere Übersetzungsmethoden stehen nicht mehr zur Verfügung weil
- Sie bestehende Verhaltensweisen duplizieren. Beachten Sie das die alten Methoden
- weiterhin funktionieren, aber eine Benutzer Notiz geworfen wird, die den neuen
- Aufruf beschreibt. Diese Methoden werden mit 2.0 entfernt. Die folgende Liste zeigt
- die alten und neuen Methodenaufrufe.
- </para>
- <table id="zend.locale.migration.fromoneeighttoonenine.depreciated.table-1">
- <title>List der Methodenaufrufe</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Alter Aufruf</entry>
- <entry>Neuer Aufruf</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>getLanguageTranslationList($locale)</entry>
- <entry>getTranslationList('language', $locale)</entry>
- </row>
- <row>
- <entry>getScriptTranslationList($locale)</entry>
- <entry>getTranslationList('script', $locale)</entry>
- </row>
- <row>
- <entry>getCountryTranslationList($locale)</entry>
- <entry>getTranslationList('territory', $locale, 2)</entry>
- </row>
- <row>
- <entry>getTerritoryTranslationList($locale)</entry>
- <entry>getTranslationList('territory', $locale, 1)</entry>
- </row>
- <row>
- <entry>getLanguageTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'language', $locale)</entry>
- </row>
- <row>
- <entry>getScriptTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'script', $locale)</entry>
- </row>
- <row>
- <entry>getCountryTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'country', $locale)</entry>
- </row>
- <row>
- <entry>getTerritoryTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'territory', $locale)</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect3>
- </sect2>
- <sect2 id="zend.locale.migration.fromoneseventooneeight">
- <title>Migrieren von 1.7 zu 1.8 oder neuer</title>
- <sect3 id="zend.locale.migration.fromoneseventooneeight.defaultcaching">
- <title>Standard Caching</title>
- <para>
- Ab Zend Framework 1.8 wurde ein standardmäßiges Caching hinzugefügt. Der Grund
- für diese Änderung war, das die meisten Benutzer Performance Probleme hatten,
- aber kein Caching verwendet wurde. Da der I18n Core eine Engstelle ist wenn kein
- Caching verwendet wird, wurde entschieden ein standardmäßiges Caching hinzuzufügen
- wenn für <classname>Zend_Locale</classname> kein Cache gesetzt wurde.
- </para>
- <para>
- Manchmal ist es trotzdem gewünscht ein Cachen zu verhindern, selbst wenn das die
- Performance beeinträchtigt. Um das zu tun kann das Cachen durch Verwendung der
- <methodname>disableCache()</methodname> Methode abgeschaltet werden.
- </para>
- <example id="zend.locale.migration.fromoneseventooneeight.example">
- <title>Standardmäßiges Caching abschalten</title>
- <programlisting language="php"><![CDATA[
- Zend_Locale::disableCache(true);
- ]]></programlisting>
- </example>
- </sect3>
- </sect2>
- <sect2 id="zend.locale.migration.fromonesixtooneseven">
- <title>Migrieren von 1.6 oder 1.7 zu neueren</title>
- <sect3 id="zend.locale.migration.fromonesixtooneseven.islocale">
- <title>Änderungen bei der Verwendung von isLocale()</title>
- <para>
- Bezugnehmend auf den Codingstandard mußte isLocale() so geändert werden das es ein
- Boolean zurückgibt. In vorhergehenden Releases wurde im Erfolgsfall ein String
- zurückgegeben. Für das Release 1.7 wurde ein Kompatibilitätsmodus hinzugefügt der es
- erlaubt das alte Verhalten, das ein String zurückgegeben wird, zu verwenden, aber
- das triggert auch eine User Warning die darauf hinweist das man auf das neue
- Verhalten wechseln sollte. Das Rerouting welches das alte Verhalten von isLocale()
- durchgeführt hätte ist nicht länger notwendig, da alle I18N Komponenten jetzt das
- Rerouting selbst durchführen.
- </para>
- <para>
- Um die Skripte auf die neue <acronym>API</acronym> zu migrieren muß die Methode
- einfach wie anbei gezeigt verwendet werden.
- </para>
- <example id="zend.locale.migration.fromonesixtooneseven.example">
- <title>Wie man isLocale() von 1.6 nach 1.7 ändern muß</title>
- <programlisting language="php"><![CDATA[
- // Beispiel für 1.6
- if ($locale = Zend_Locale::isLocale($locale)) {
- // mach was
- }
- // Selbes Beispiel für 1.7
- // Man sollte den Kompatibilitätsmodus ändern um User Warnings zu verhindern
- // Aber man kann das in der Bootstrap tun
- Zend_Locale::$compatibilityMode = false;
- if (Zend_Locale::isLocale($locale)) {
- }
- ]]></programlisting>
- <para>
- Es ist zu beachten das man den zweiten Parameter verwendet kann um zu sehen ob
- das Gebietsschema richtig ist ohne das ein Rerouting durchgeführt wird.
- </para>
- <programlisting language="php"><![CDATA[
- // Beispiel für 1.6
- if ($locale = Zend_Locale::isLocale($locale, false)) {
- // mach was
- }
- // Selbes Beispiel für 1.7
- // Man sollte den Kompatibilitätsmodus ändern um User Warnings zu verhindern
- // Aber man kann das in der Bootstrap tun
- Zend_Locale::$compatibilityMode = false;
- if (Zend_Locale::isLocale($locale, false)) {
- if (Zend_Locale::isLocale($locale, true)) {
- // gar kein Gebietsschema
- }
- // Original String ist kein Gebietsschema, kann aber Reroutet werden
- }
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.locale.migration.fromonesixtooneseven.getdefault">
- <title>Änderungen bei der Verwendung von getDefault()</title>
- <para>
- Die Bedeutung der getDefault() Methode wurde verändert durch den Fakt das
- Framework-weite Gebietsschemata integriert wurden welche mit setDefault() gesetzt
- werden können. Deswegen gibe es nicht mehr die Kette der Gebietsschemata zurück
- sondern nur die gesetzten Framework-weiten Gebietsschemata.
- </para>
- <para>
- Um die eigenen Skripte auf die neue <acronym>API</acronym> zu migrieren, muß einfach
- die Methode wie unten gezeigt verwendet werden.
- </para>
- <example id="zend.locale.migration.fromonesixtooneseven.getdefault.example">
- <title>Wie man getDefault() von 1.6 auf 1.7 ändert</title>
- <programlisting language="php"><![CDATA[
- // Beispiel für 1.6
- $locales = $locale->getDefault(Zend_Locale::BROWSER);
- // Selbes Beispiel für 1.7
- // Man sollte den Compatibility Mode setzen um User Notices zu verhindern
- // Das kann in der Bootstrap Datei getan werden
- Zend_Locale::$compatibilityMode = false;
- $locale = Zend_Locale::getOrder(Zend_Locale::BROWSER);
- ]]></programlisting>
- <para>
- Es ist zu beachten das der zweite Parameter der alten getDefault()
- Implementation nicht mehr vorhanden ist, aber die zurückgegebenen Werte die
- gleichen sind.
- </para>
- </example>
- <note>
- <para>
- Standardmäßig ist das alte Verhalten noch immer aktiv, wirft aber eine User
- Notice. Wenn man den eigenen Code zum neuen Verhalten geändert hat sollte man
- auch den Compatibility Mode auf false setzen damit keine Notices mehr geworfen
- werden.
- </para>
- </note>
- </sect3>
- </sect2>
- </sect1>
|