Zend_Application_Resource_LocaleZend_Application_Resource_Locale kann verwendet werden um ein
Anwendungsweites Gebietsschema zu setzen welches dann in allen Klassen und Komponenten
verwendet wird welche mit Lokalisierung oder Internationalisierung arbeiten. Standardmäßig
wird das Gebietsschema in einem Zend_Registry Eintrag mit dem
Schlüssel 'Zend_Locale' gespeichert.
Es gibt grundsätzlich drei Anwendungsfälle für das Locale Ressource Plugin. Jeder von Ihnen
sollte abhängig auf den Notwendigkeiten der Anwendung verwendet werden.
Automatische Erkennung des zu verwendenden Gebietsschemas
Ohne Spezifikation einer Option für
Zend_Application_Resource_Locale, erkennt
Zend_Locale das Gebietsschema, welches in der Anwendung verwendet
werden soll automatisch.
Diese Erkennung funktioniert weil der Client die gewünschte Sprache in seiner
HTTP Anfrage sendet. Normalerweise sendet der Client die Sprache
welche er sehen will, und Zend_Locale verwendet diese Information
für die Erkennung.
Aber es gibt 2 Probleme mit diesem Verfahren:
Der Browser könnte so eingestellt sein das er keine Sprache sendet
Der Benutzer könnte ein Gebietsschema manuell gesetzt haben das gar nicht
existiert
In beiden Fällen wird Zend_Locale auf einen anderen Mechanismus
zurückfallen um das Gebietsschema zu erkennen:
Wenn ein Gebietsschema gesetzt wird das nicht existiert versucht
Zend_Locale diesen String degradieren.
Wenn zum Beispiel en_ZZ gesetzt wird, dann wird es
automatisch zu en degradiert. In diesem Fall wird
en als Gebietsschema für die Anwendung verwendet.
Wenn das Gebietsschema durch das degradieren nicht erkannt wird, dann wird
das Gebietsschema der Umgebung (Web Server) verwendet. Die meisten vorhandenen
Umgebungen von Web Hostern verwenden en als Gebietsschema.
Wenn das Gebietsschema des Systems nicht erkannt wird, verwendet
Zend_Locale sein eigenes Standardgebietsschema, welches
standardmäßig auf en gesetzt wird.
Für weitere Informationen über die Erkennung von Gebietsschema sollte in dieses Kapitel für Zend_Locale's
automatischer Erkennung gesehen werden.
Das Gebietsschema automatisch erkennen und ein eigenes Fallback hinzufügen
Die automatische Erkennung von vorher könnte zu Problemen führen wenn das Gebietsschema
nicht erkannt werden kann und man ein anderes Standardgebietsschema als
en haben will. Um das zu verhindern erlaubt es
Zend_Application_Resource_Locale ein eigenes Gebietsschema zu
setzen welches in dem Fall verwendet wird wenn kein Gebietsschema erkannt wird.
Automatische Erkennung des Gebietsschemas und setzen eines Fallbacks
Der folgende Abschnitt zeigt wie ein eigenes Standardgebietsschema gesetzt werden
kann welches verwendet wird wenn der Client selbst kein Gebietsschema sendet.
Erzwingen eines Gebietsschemas für die Verwendung
Manchmal ist es nützlich ein einzelnes Gebietsschema zu definieren welches verwendet
werden soll. Das kann durch Verwendung der Option force getan
werden.
In diesem Fall wird dieses einzelne Gebietsschema verwendet und die automatische
Erkennung wird ausgeschaltet.
Definition eines einzelnen Gebietsschemas für die Verwendung
Der folgende Abschnitt zeigt wie ein einzelnes Gebietsschema für die komplette
Anwendung gesetzt werden kann.