Ich suche nach einer Möglichkeit, Übersetzern zu ermöglichen, ihr eigenes Muster festzulegen, wenn ihre Sprache mehrere Pluralformen unterstützt. Können Sie sich einen kreativen PHP-Ansatz vorstellen, um dies zu tun?
Eine Lösung, die mir einfällt (aber Übersetzer können immer noch kein Muster festlegen):
BEARBEITEN: Ich habe das in der PO-Datei für Polnisch gefunden: "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" aber ich verstehe immer noch nicht, wie ich mich vorbereiten soll _n(); Funktion, dies zu unterstützen.
okay
Erstens muss Ihre Locale-Datei die Definition von Plural haben. Wie Sie die Frage hinzugefügt haben, können Sie im polnischen Fall sehen
dann setze natürlich das Gebietsschema von WordPress auf Polnisch, in wp-config.php,
define ('WPLANG', 'pl');
Sie sollten die Ergebnisse mit korrekten Pluralformen sehen.
Ihre Antwort ist größtenteils richtig (außer dass Sie for() nicht benötigen – es funktioniert nur mit just _n(); auch wenn es theoretisch nur zwei Pluralformen unterstützt). Ich habe es gestern herausgefunden 🙂 Danke!
– Atadj
26. August 2012 um 15:11 Uhr
Die for-Schleife dient nur dazu, die generierten Texte mit mehr Zahlen anzuzeigen.
– Okay
12. November 2012 um 6:45 Uhr
Könntest du erklären "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" ein bisschen mehr? Ist das Teil von babel.cfg (in flasche_babel)? Oder die Pot-Datei? Die po-Datei?
– Martin Thoma
11. August 2019 um 19:54 Uhr
Es befindet sich in einer .po-Datei, die in eine .mo-Datei konvertiert werden soll, dann verwendet gettext die Definition.
– Okay
12. August 2019 um 22:57 Uhr
Ich glaube, ich habe einen Weg gefunden, das zu tun, was ich will. Mit der POEdit-Anwendung können Sie mehrere Pluralformen erstellen, indem Sie das Muster verwenden, das Sie in den Einstellungen angeben können.
Der Übersetzer muss das Muster selbst codieren (siehe Muster für Polnisch in meiner Frage). Ich recherchiere immer noch zu diesem Thema, aber wenn jemand ähnliche Fragen hat, ist dies ein guter Anfang: http://www.poedit.net/trac/wiki/Doc/PluralForms
14024900cookie-checkMehrere Pluralformen in gettext()yes