ZF Version 0.7 erschienen – Das i18n / l10n Release

Zend Framework

Das Zend Framework geht mit großen Schritten auf die Version 0.7 zu.
Ganz zu meiner Freude wurde bei diesem Release besonder viel Wert auf die i18n und l10n Komponenten gelegt.
Neu im core sind nun Zend_Date, Zend_Measure und Zend_Locale. Ich habe die neuen Komponenten ausprobiert und hier ein paar Beispiele:

Zend_Locale

Anzeigen der im Browser eingestellten Sprachen

$locale = new Zend_Locale();  
$array = $locale->getBrowser();
array(4) {
["de_DE"] => float(1)
["de"] => float(0.8)
["en_US"] => float(0.5)
["en"] => float(0.3)
}

 

Auflisten aller Sprachen in deutsch

$locale = new Zend_Locale('de_DE');   
$array = $locale->getLanguageList();

Ja/Nein für Dialoge

$locale = new Zend_Locale('de_DE'); 
$array = $locale->getQuestion(); 
array(4) {
["yes"] => string(2) "ja"
["yesabbr"] => string(1) "j"
["no"] => string(4) "nein"
["noabbr"] => string(1) "n"
}

Zend_Date 

Datum lokalisiert ausgeben

$date = new Zend_Date('2006-12-31', Zend_Date::DATE_MEDIUM);  
echo $date->get(Zend_Date::DATE_FULL, $locale);

Ausgabe:
Sonntag, 31. Dezember 2006

Datum -> addieren, subtrahieren

$date = new Zend_Date('2006-12-31', Zend_Date::ISO_8601);  
$date->add(1, Zend_Date::DAY);  
echo $date->get(Zend_Date::DATE_FULL, $locale);

Ausgabe:
Montag, 1. Januar 2007 

$date = new Zend_Date('2006-12-31', Zend_Date::ISO_8601);  
$date->add(1, Zend_Date::DAY);  
echo $date->get(Zend_Date::DATE_FULL, $locale);

Ausgabe:
Montag, 1. Januar 2007 

$date = new Zend_Date('2007-03-01', Zend_Date::ISO_8601);  
$date->subDay(1);  
echo $date->get(Zend_Date::DATE_FULL, $locale);

Ausgabe:
Mittwoch, 28. Februar 2007

Zend_Measure 

Umrechnen von 1000 Meter in Miles

$unit = new Zend_Measure(1000, Zend_Measure::LENGTH);  
echo $unit->convertTo(Zend_Measure_Length::MILE);

Ausgabe:
0.621371192237 mi 

Fazit:

Die neuen Komponenten können sich sehen lassen. Viele Tätigkeiten, für die man immer wieder eigene Lösungen entwickelt hatte, oder einfach Werte hardkodiert hatte lassen sich nun elegant programmieren. Spontan fällt mir hier eine Selectbox mit einer Länder oder Sprachauswahl ein. Auch Dialoge können nun einfach „sprachneutral“ programmiert werden.
Die Zend_Date Komponenten schließt endlich die Lücken, die die PHP Datum- und Zeitfunktionen nicht füllen konnten und bietet genug Abstraktion.
Freuen können wir uns auch auf die noch kommenden Komponten Zend_Translate zum anzeigen von übersetzten Texten und Zend_TimeSync.