phpbar.de logo

Mailinglisten-Archive

[php] gettext mit verketteten Strings und Parametern

[php] gettext mit verketteten Strings und Parametern

Ringo Großer swek at gmx.net
Fre Okt 26 14:32:18 CEST 2007


Hallo Lutz

Lutz Zetzsche wrote:
> ich habe gettext() noch nie benutzt, aber wenn alle Stricke reißen, 
> könntest Du die Platzhalter von sprintf() verwenden und dann diese 
> Funktion zusätzlich zu gettext() anwenden:
> 
> 	http://de.php.net/manual/en/function.sprintf.php

Ist sprintf an die Lokalisierung angebunden? Im Quercus [1] wird nämlich 
explizit auf diesen Umstand eingegangen:

"The most noticeable difference is that printf is not used anymore and 
that "%d%d%d" has been changed to "[_0]/[_1]/[_2]". Because printf 
placeholders are not unique and their positions may change in another 
language, we cannot use printf. Instead, we use Quercus gettext ordered 
placeholders."

Der entsprechende Hack aus dem PHP-Manual benutzt zu diesem Zweck die 
Funktion vsprintf().
Bevor ich jedoch den Hack benutze, der leider auch noch nicht die 
ursprünglich vorgesehene Syntax [_0] für die Platzhalter ermöglicht, 
wollte ich der Sache auf den Grund gehen, warum in PHP nur so ein 
"abgespecktes" gettext integriert ist. Und wie das im Quercus geht, ist 
mir immernoch ein Rätsel.

regards, Ringo

[1] http://www.caucho.com/resin-3.1/examples/quercus-gettext/index.xtp

php::bar PHP Wiki   -   Listenarchive