Zur Agentur-Website
24.06.2011

Verwendung von Zend_Locale und Zend_Translate

Aktuell arbeiten wir an einer Intranet-Lösung die mittels Zend-Framework umgesetzt wird. Aus gegebenen Anlass möchte ich in diesem Beitrag kurz die Verwendung von Zend_Locale und Zend_Translate vorstellen.

Warum Zend_Translate?

Aufgrund der noch strikteren Trennung von Programmcode und Inhalt, möchten wir in Zukunft nur noch Zend-Framework Applikationen mit Zend_Translate entwickeln. Auch wenn zu Beginn nur eine Sprache zum Einsatz kommt. Sehr häufig kommt es vor, das Projekte im Laufe der Zeit auf weitere Sprachen ausgedehnt werden. Weiters ist es so einfacher möglich, die Inhalte bzw. Übersetzungen über Eingabemasken einzupflegen.

Damit Zend_Translate applikationsweit verwendet werden kann, muss es zuerst in der Anwendung registriert werden. Das kann entweder über ein Controller-Plugin oder wie im folgenden Beispiel in der Bootstrap-Datei erfolgen:


protected function _initLang() {

  Zend_Registry::set('Zend_Locale', new Zend_Locale());
  Zend_Registry::get('Zend_Locale')->setLocale('en_EN');

  $$file = APPLICATION_PATH . '/translations/';
  $file.= Zend_Registry::get('Zend_Locale')->getLanguage() . '.php';

  $translate = new Zend_Translate('array', $defaultFile);
  Zend_Registry::set('Zend_Translate', $translate);

}
Zend_Locale und Zend_Translate registrieren

Zu Beginn wird in der Registry eine Instanz mit dem Bezeichner "Zend_Locale" festgelegt. Damit die Sprache etc. vom Benutzer automatisch erkannt. Da in unserem aktuellen Projekt jedoch vorerst nur Englisch zum Einsatz kommt, wird eine Standard-Locale definiert (en_EN). Danach wird der Applikation mitgeteilt, wo die Übersetzungsdateien zu finden sind um diese in weiterer Folge ebenfalls der Registry mit dem Bezeichner "Zend_Translate" zur Verfügung stellen zu können.

Wie die Übersetzungen ausgegeben werden und weitere Details zu Zend_Translate wird in der Dokumentation des Zend-Frameworks ausführlich erläutert.

04.11.2010

PersonaList online geschalten

Nach vielen, vielen Zeilen PHP-Code ist heute die Community PersonaList online gegangen. Die PersonaList ermöglicht mehr als 1.100 Personalisten den schnellen und unkomplizierten Austausch von Informationen und Erfahrungen.

Die Plattform steht exklusiv und ausschließlich der HR-Community zur Verfügung. Aus diesem Grund werden Personaldienstleister sowie HR-Externe konsequent als List-Mitglieder abgelehnt. Alle Diskussionen können ausschließlich als angemeldetes Mitglied gelesen werden.

Das Projekt wurde über einen Zeitraum von etwas mehr als 6 Monaten umgesetzt. Als Basis der Applikation wird Zend Framework verwendet. Für ein intuitives Interface-Design sorgen zahlreiche jQuery-Plugins und -Effekte. Das technische Kernstück der Plattform ist das E-Mail Management, das täglich zwischen 1.000 und 2.000 E-Mails versendet und verwaltet. Erwähnenswert ist zudem das Forum, das Beiträge bis zum Jahr 2002 zurückgehend beinhaltet.

27.10.2010

pimcore - Content Management mit Zend Framwork

In der aktuellen Ausgabe 06/2010 des PHP Magazins wurde ein vielversprechendes Open-Source Content Management System auf Basis von Zend Framework und ExtJs vorgestellt. Das Projekt unterliegt der BSD-Lizenz. Vorangetrieben wird es von der Salzburger Internetagentur elements.at.

Auf der Websites des Projekts sind bereits eine halbwegs ausführliche Dokumentation sowie einige Videos vorhanden. pimcore verwendet fast ausschließlich Komponenten des Zend Framework, nicht einmal eine eigene Template-Engine wird verwendet.

Content Management Systeme auf Basis des Zend Framwork gibt es bis dato kaum, bis auf das DigitalusCMS und TomateCMS sind mir keine anderen Systeme bekannt. Daher werden wir pimcore im Auge behalten, da es eine interessanten Ansatz verfolgt und zudem von der User Experience einen gute Eindruck macht.

Übrigens: Auf der Website des PHP Magazins ist der Artikel über pimcore vollständig abrufbar.


RSS, Twitter & Facebook