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 14:23:45 CEST 2007


Hallo Ringo,

Am Freitag, 26. Oktober 2007 schrieb Ringo Großer:
> Die Anwendung der Funktion gettext ist auf folgende Weise denkbar:
>
> <?php
> gettext('you have ' . $numEmails . ' emails');
> ?>
>
> Was müsste der Parser ins .po File als msgid übernehmen? Ist das
> überhaupt valide?
>
>
> Gettext sieht wohl eigentich auch die Verwendung von Parametern vor:
>
> <?php
> gettext('you have [_0] emails', $numEmails);
> ?>
>
> Auf diese Verwendung geht unter anderem das Quercus Projekt [1] ein.
> Allerdings steht der dort gezeigte PHP-Quellcode im Widerspruch zum
> Manual auf php.net [2] und zu meinen lokalen Tests mit einem PHP
> 5.2.1.
>
> Ein User-Comment im Manual geht auf den Umstand wie folgend ein:
> "It appears that this version of gettext() is lame and doesn't
> support [_1] and [_2] ... modifier/parameters."
> und bietet gleich einen Hack an.
>
> Aber muss das sein? Wie ist das in diesem Quercus Projekt gelöst?
> Dort werden ja auch wie selbstverständlich die nativen Funktionen
> inklusive Argumente verwendet.
> Wenn selbst PHP5 das aber nicht wirklich unterstützt, dann weiß ich
> auch nicht weiter.
>
> Hat da jemand von euch ein paar Hinweise oder genauere Informationen?
> Danke im Voraus.

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

Viele Grüße,
Lutz

php::bar PHP Wiki   -   Listenarchive