CakePHP: Monatsnamen auf Deutsch (Teil 2)

In Ergänzung zu meinem Blogpost “CakePHP: Monatsnamen auf Deutsch” kann man die erstelle ‘locale’ Datei natürlich auch nutzen, um die Monatsnamen in Views auf Deutsch anzeigen zu lassen.

Dazu muss die ‘__()’ – Funktion, wie bei der Internationalisierung üblich, genutzt werden. Letzendlich sieht das Ganze dann so aus:


__(date('F',strtotime($controllerKlasse['Klasse']['datum'])),true)

wobei date(‘F’) den ausgeschriebenen Monatsnamen ausgibt. (siehe dazu auch die date() Dokumentation auf php.net)

CakePHP: Monatsnamen auf Deutsch

Leider funktioniert die Angabe von

setlocale(LC_TIME,"de_DE"); #oder
setlocale(LC_TIME,"deu"); #oder
setlocale(LC_TIME,"ge");

in der ‘bootstrap.php’ nicht, um deutsche Monatsnamen in Formularfeldern mit Datumsangaben zu erhalten.
Daher der Umweg über die Lokalisierungsdatei:

Verzeichnis “deu” im Ordner “app/locale” anlegen.
Verzeichnis “LC_MESSAGES” im grade erstellen “deu” Ordner anlegen.
Datei “default.po” in diesem Ordner anlegen.

In die ‘default.po’ nun die Übersetzungen in der Form

msgid "January"
msgstr "Januar"

msgid "February"
msgstr "Februar"

...

schreiben. Fertig!