Beim Durchsehen meiner früheren Artikel bin ich auf meinen Beitrag WordPress Themes lokalisieren gestoßen.
WordPress hat sich weiterentwickelt und ich habe einiges gelernt, deswegen kann ich ein paar Tipps zur Übersetzung mit poEdit hinzufügen:
Die richtigen Keywords in poEdit angeben
poEdit bietet die Möglichkeit den Übersetzungskatalog aus den Quelldateien zu aktualisieren (Menü “Catalog” -> “Update from Sources”). Das ist nützlich, wenn man größere Änderungen in den Quelldateien gemacht hat und dadurch z.B. neue Texte hinzufügt hat, die übersetzt werden müssen.
Die entsprechenden Stellen findet poEdit, indem das Programm nach den in den Einstellungen hinterlegten Keywords sucht (Menü “Catalog” -> “Settings” -> Tab “Keywords”)

poEdit Keywords
Diese Keywords sind für WordPress __ , _e, _c und __ngettext. Die Keywords bzw. die Funktionen _c und __ngettext sind erst mit neueren WordPress Versionen hinzugekommen.
Unklare Übersetzungen mit Beschreibungen kennzeichnen
Die Funktion _c() wird genutzt, um Texte mit Kommentaren zu versehen z.B. _c("Vortrag|Rede") und _c("Vortrag|Buchhaltung"), damit ein Übersetzer leichter die beabsichtigte Aussage erkennen kann. Ein gutes Beispiel ist im Default Theme in der Datei archive.php
<h2 class="pagetitle"><?php printf(_c('Archive for %s|Daily archive page', 'kubrick'), get_the_time(__('F jS, Y', 'kubrick'))); ?></h2>
<h2 class="pagetitle"><?php printf(_c('Archive for %s|Monthly archive page', 'kubrick'), get_the_time(__('F, Y', 'kubrick'))); ?></h2>
<h2 class="pagetitle"><?php printf(_c('Archive for %s|Yearly archive page', 'kubrick'), get_the_time(__('Y', 'kubrick'))); ?></h2>
Platzhalter benutzen
Es ist einfacher einen ganzen Satz zu übersetzen, statt einzelner Satzteile
Schlecht:
<?php _e("Benutzer: ").$x._e(" hat ").$iArticleCount._e(" Artikel geschrieben"); ?>Hier sind Teilestrings mit Leerzeichen und Satzzeichen enthalten. Dazu kommt, dass in anderen Sprachen evtl. die Gramatik einen anderen Satzaufbau erfordert.
Besser:
<?php _e("Benutzer %1$s hat %2$d Artikel geschrieben", $x, $iArticleCount); ?>Der Übersetzer kann jetzt den Satz beliebig umstellen. Durch die Platzhalter werden die Werte an den entsprechenden Stellen eingefügt.
Pluralformen übersetzen
Der Plural ist in den verschiedenen Sprachen sehr unterschiedlich und damit auch schwer zu übersetzen. Dazu gibt es die __ngettext() Funktion. Singular und Plural können dabei unterschiedlich übersetzt werden.
Beispiel:
<?php printf(__ngettext("Ein Beitrag ist neu","%d Beiträge sind neu", $iArticleCount), $iArticleCount); ?>In Variable $iArticleCount ist die Anzahl der Beiträge enthalten. Ist $iArticleCount == 1, dann wird die Singularform “Ein Beitrag ist neu” gewählt. Ist $iArticleCount > 1, dann wird die Pluralform “%d Beiträge sind neu” gewählt. Abschließend wird noch der Platzhalter %d durch $iArticleCount ersetzt.
Im WordPress Codex ist im Artikel I18n_for_WordPress_Developers noch mehr zu Thema Übersetzungen bzw. I18n zu finden.











