Eine gute Anleitung welche Module man benötigt und was man tun muss, um Drupal zu internationalisieren, findet man hier: http://drupal-translation.com/de/node/11.
Artikel-Schlagworte: „I18n“
Drupal Internationalisierung (i18n)
Mittwoch, 6. Januar 2010Internationalisierung (I18n) mit CakePHP
Montag, 26. Oktober 2009CakePHP nutzt zum Internationalisieren pot bzw. po Dateien. Die pot Datei enthält alle Texte die übersetzt werden müssen. Diese Datei wird (fast) automatisch von dem Framework erstellt. Dazu werden alle Ausgaben eingelesen und dann zusammengefasst. Es empfiehlt sich dabei, von Anfang an, alle Texte mit der eingebauten Funktion
auszugeben. Alle Ausgaben mit dieser Funktion werden problemlos vom Framework erkannt, soweit habe ich es schon getestet.
Eine Ausgabe im Template sieht also so aus:
Dabei empfiehlt es sich alle Texte im Template in Englisch zu halten, denn wenn CakePHP keine Übersetzung findet, verwendet es den Wert der ursprünglich übergeben wurde. Wird zum Beispiel eine deutsche Übersetzung gefunden, wird der Text natürlich in Deutsch ausgegeben – vorausgesetzt im Browser ist als Hauptsprache Deutsch eingestellt oder man hat es explizit im Code gesetzt. Das kann man mit folgender Code-Zeile erreichen:
Also, wir geben also alle Ausgaben in Englisch und mit der oben beschriebenen Funktion aus, und können dann mit der CakePHP Console die pot Datei erstellen. Dazu ruft man das Programm unter
[CakePHP-ROOT]/cake/console/cake
auf, mit dem Parameter i18n. Mehr Infos findet man auf der Dokumentationsseite von CakePHP (siehe unten).
Nachdem man mit der CakePHP Console die pot Datei erstellt hat, kann man diese mit z.B. mit dem Programm Poedit öffnen, übersetzen und als po speichern. Die po Datei muss default heißen und in den Ordner
[CakePHP-ROOT]/app/locale/deu/LC_MESSAGES
gespeichert werden. deu steht natürlich für die jeweilige Sprache. Ein Link zu einer Seite mit allen andern Sprachcodes ist in der Linkliste am Seitenende.
Weitere Informationen:
-
CakePHP:
http://cakephp.org/ -
CakePHP I18n:
http://book.cakephp.org/view/161/Internationalization-Localization -
ISO 639-2 Sprachcodes:
http://www.loc.gov/standards/iso639-2/php/code_list.php -
CakePHP Console:
http://book.cakephp.org/view/108/The-CakePHP-Console -
Poedit:
http://www.poedit.net/