Hallo,
ob dies eine Anfängerfrage oder eine Profi-Frage ist, entscheide ich später. Ich habe es erstmal hier gepostet.
Also, es geht um folgendes: ich möchte einen GNU-Gettext-Parser in PHP realisieren.
Warum? Aus drei Gründen:
- Die Gettext-Erweiterung von PHP ist garstig und funktioniert auch nur bei Gettext-Support auf dem System usw. usf.
- PHP-Gettext gefällt mir nicht
- Und last but not least wollte ich es einfach mal gemacht haben
Nun zu meinem Problem: an sich gibt es keine Fragen, doch an einer Stelle hakt es ein wenig und frage nun, ob jemand eine bessere Idee hat.
Und zwar geht es um die Pluralformen. Es soll geprüft werden, ob der Plural benutzt werden soll oder nicht.
So einfach Formen wie beim Deutschen:
sind ja noch einfach zu parsen.
Bei Pluralformen wie im Russischen
wird es dann schon komplizierter.
In PHP-Gettext ist das per [MAN]eval[/MAN] gelöst und das war auch das erste, was mir einfiel, doch bin ich nicht sonderlich der eval ()-Fan.
Das beste, was mir einfiel war, diese Formen per Whitelist zu prüfen und dann per eval zu parsen. Das ist allerdings auch nicht unbedingt das Gelbe vom Ei.
Fällt euch etwas besseres ein?
ob dies eine Anfängerfrage oder eine Profi-Frage ist, entscheide ich später. Ich habe es erstmal hier gepostet.

Also, es geht um folgendes: ich möchte einen GNU-Gettext-Parser in PHP realisieren.
Warum? Aus drei Gründen:
- Die Gettext-Erweiterung von PHP ist garstig und funktioniert auch nur bei Gettext-Support auf dem System usw. usf.
- PHP-Gettext gefällt mir nicht
- Und last but not least wollte ich es einfach mal gemacht haben
Nun zu meinem Problem: an sich gibt es keine Fragen, doch an einer Stelle hakt es ein wenig und frage nun, ob jemand eine bessere Idee hat.
Und zwar geht es um die Pluralformen. Es soll geprüft werden, ob der Plural benutzt werden soll oder nicht.
So einfach Formen wie beim Deutschen:
Code:
nplurals=2; plural=n != 1;
Bei Pluralformen wie im Russischen
Code:
nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
In PHP-Gettext ist das per [MAN]eval[/MAN] gelöst und das war auch das erste, was mir einfiel, doch bin ich nicht sonderlich der eval ()-Fan.
Das beste, was mir einfiel war, diese Formen per Whitelist zu prüfen und dann per eval zu parsen. Das ist allerdings auch nicht unbedingt das Gelbe vom Ei.
Fällt euch etwas besseres ein?
Kommentar