phpbar.de logo

Mailinglisten-Archive

[php] gettext mit verketteten Strings und Parametern

[php] gettext mit verketteten Strings und Parametern

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Fre Okt 26 15:20:17 CEST 2007


Hallo Ulf,

Am Freitag, 26. Oktober 2007 schrieb Ulf Seltmann:
> Lutz Zetzsche schrieb:
> > Hallo Ringo,
> >
> > Am Freitag, 26. Oktober 2007 schrieb Ringo Großer:
> >> 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."
> >
> > ok, das ist natürlich ein Punkt. Änderst Du bei printf()
> > sprachabhängig die Reihenfolge der Platzhalter, mußt Du auch die
> > Reihenfolge der Parameter ändern, die Du übergibst. Das stimmt.
>
> Das stimmt nicht. Sowie bei printf() als auch bei sprintf() lässt
> sich die Reihenfolge der Platzhalter bestimmen. Das geht auch aus der
> PHP-Manual hervor [1].
> So wäre der Platzhalter '%1$d' immer das erste Argument nach dem
> angegebenen String. Mehrfachverwendung geht natürlich auch:
> 	printf('First comes %1$s then %2$s, and not first %2$s and then
> %1$s','foo','bar');
>
> oder hab ich was falsch verstanden?

Tatsache! Das steht aber gewaltig weit unten und nur in den 
Beispielen... Aber recht hast Du. ;-) Umso besser. Ringo wird es 
freuen. :-)

Viele Grüße,
Lutz

php::bar PHP Wiki   -   Listenarchive