Plugin Review: Codestyling Localization
Heiko Rabe, ein wirklich sehr talentierter Plugin-Entwickler, hat ein Plugin geschrieben, welches mir wie gerufen kommt: Codestyling Localization. Da ich zur Zeit ein WordPress Premium Theme entwickle, welches ich den Anwendern mehrsprachig zur Verfügung stellen will, ist dieses Plugin eine hervorragende Alternative zu PoEdit.
Gegenüber PoEdit hat dieses Plugin den entscheidenden Vorteil, daß man direkt online ein Theme oder Plugin übersetzten kann, ohne auf einen PC mit installiertem PoEdit angewiesen zu sein. Die Sprachdateien müssen demzufolge auch nicht ständig hochladen werden, da sie direkt im Theme/Plugin gespeichert werden.
Die Installation ist denkbar einfach wie bei jedem Plugin. Entpacken, hochladen und aktivieren. Danach steht im Backend unter Werkzeuge ein neuer Menüpunkt Lokalisierung zur Verfügung. Ein Klick darauf listet alles, was gettext-fähig ist beziehungsweise eine Sprachdatei mitbringt.

Ein eigenes Theme lokalisieren
Um ein eigenes Theme zu lokalisieren, muß zuerst im Theme eine eigene Textdomain geladen werden:
load_theme_textdomain('myTextdomain');
Damit wird das Theme von Codestyling Localization gefunden und man kann eine neue Sprache hinzufügen. Es erscheint eine Auswahlliste, aus der man die gewünschte Sprache wählt.

Ein Klick auf create po-file erzeugt eine leere .po-Datei im Themeordner. Anschließend muß man bei der ausgewählten Sprache einen Rescan machen, der die gettextfähigen Textfragmente sucht.

Nach dem Rescan steht der Katalog mit den Textfragmenten zur Verfügung und man kann mit dem Übersetzen beginnen.

Überfährt man mit der Maus das PHP-Symbol, werden die Dateien, in denen das Textfragment vorkommt, gelistet. Diese kann man sich auf Wunsch anzeigen lassen. Der Edit-Link führt dann zum Übersetzungseditor. Hier ist es möglich, neben der manuellen Übersetzung sogar die Google Translate API nutzen, falls die API die Sprache unterstützt. Der übersetzte Text wird dann direkt eingefügt. Man sollte sich nur nicht 100-prozentig auf die Richtigkeit verlassen.

Sobald man auf Speichern gedrückt hat, wird die .po-Datei aktualisiert.
Mit generate .mo-file wird dann die .mo-Datei (machine object) erzeugt und fertig ist die Lokalisation.
Fazit
Ein Hammer-Plugin mit wirklich hervorragenden Features, welche die Möglichkeiten von PoEdit deutlich übersteigt. Unabhängigkeit vom eigenen PC und die mögliche Nutzung der Google Translation API sprechen für sich. Ein Muß für jeden Theme- und Plugin-Entwickler, der sein Projekt mehrsprachig anbieten will.
- Kategorie: WordPress
- Tags: localisation, plugin, theme, WordPress
- Kommentar-Feed | Trackback URL
- Gelesen: 2861 | Heute: 2
- einen Kommentar schreiben

Ja da hat Heiko wahrlich ein Super-Plugin abgeliefert. Ich teste regelmäßg neue und interessante Plugins, jedoch habe ich schon lange keines mehr gesehen, das einer derart übersichtliche Benutzerführung und durchweg sinnvolle Komplexität bietet wie dieses Plugin.
Ich bin mir sicher das hier noch nicht das letzte Wort gesprochen ist und Heiko uns in Zukunft noch mit weiteren Highlights begeistern wird.
meine Rede, hat aber gedauert, bis du es eingesetzt hast.
Schau dir mal Heikos zweites Teil an, mich streift es immer nur als Betatester und Tel-Joker und daher sehe ich die vielen Barrieren die Heiko knacken muss. Damit kann man den Magazin-Style dem User überlassen. Sicher auch einen Test wert.
Ich programmiere im Texteditor und Sprachdateien bearbeite ich auch dort.
Aber für viele sicherlich eine interessante Alternative.
@Frank, das page columnist habe ich mir auch angeschaut. Hat großes Potenzial.
@Sergej, hab ich vorher auch gemacht. Ich finde die neue Arbeitsweise sehr angenehm. Heist aber nicht, daß es jeder so machen muß.
Hallo, ich habe ein sehr ähnliches Problem
Ich habe zwar mit PoEdit die Möglichkeit, WordPress im Backend anzupassen, aber nicht im Frontend.
Ich möchte zB dass “Diesen Beitrag weiterlesen” in “Artikel lesen” umbenannt wird. Welche Datei ist dafür zuständig?
Danke für die Hilfe!
Alexandra
@Alexandra: Die Dateien sind in deinem aktiven Theme. Schau erst mal nach, ob es überhaupt übersetzbare Strings in deinem Theme gibt. Wenn nicht, mußt du sie per Hand in den Themedateien ersetzten.