Der Fehler lag bei poEdit. Ich hatte für die Schlüsselwörter nur "_n" eingegeben. Richtig ist "_n:1,2"
Beiträge von HerrAlbert
-
-
Hallo
Meine bisherigen Erfahrungen mit gettext beschränken sich auf die Anwendung von __() und _e() und das einfache Übersetzen mit poedit.
Nun wollte ich etwas mit Pluralformen machen und habe mir dazu _n() bzw. _ngettext() angeschaut. Irgendwie will das alles nicht funktionieren, weder findet poedit die Pluralform noch wird irgendwas richtig übersetzt.Im Quelltext steht in etwa folgendes:
PHPprintf( _n( 'You have ring the bell on time.', 'You have ring the bell %d times', $n, 'my-domain' ), $n );poedit findet nun zwar den ersten String (You have ring the bell one time), den kann ich auch übersetzen, jedoch wird die Pluralform nicht gefunden/angezeigt.
In der Ausgabe des Scripts wird der Text dann auch nicht übersetzt obwohl es in poedit zumindest für die Singularform eine Übersetzung gibt.Ich habe mich im Web schon dumm und dusselig gesucht, finde aber eher widersprüchliche Angaben. Zum Beispiel wird einmal gesagt man müsse bei der Katalogerstellung "nplurals=2; plural=(n != 1)" eintragen (z.B. hier zu finden http://translate.sourceforge.net/wiki/l10n/pluralforms), dann soll es angeblich ohne Klammern (nplurals=2; plural=n != 1;) die richtige Version sein (z.B. laut http://www.gnu.org/software/libc/…-functions.html).
Durch diesen Text (http://urbangiraffe.com/articles/trans…es-and-plugins/) habe ich mich ebenfalls durchgeackert, leider auch ohne Erfolg.Kann mir jemand eine verständliche Anleitung geben wie man Pluralformen mit gettext umsetzt? Vielen Dank schon mal im Vorraus.