Hi,
$language = 'EN';
define('DE_LINKBAR1_LINK_GUESTBOOK', 'Gästebuch');
define('EN_LINKBAR1_LINK_GUESTBOOK', 'Guestbook');
> über die Variable `$language`{:.language-php} wird ermittelt, welche Sprache eingestellt ist.
das hilft dir aber bei dieser Konstellation wenig.
> Wie also kann ich jetzt diese beiden Variabeln kombinieren und die Konstante "`EN_LINKBAR1_LINK_GUESTBOOK`{:.language-php}" ausgeben?
Gar nicht. Konstanten sind in PHP nur sehr eingeschränkt brauchbar.
> Sowas wie `$$language."_LINKBAR1_LINK_GUESTBOOK"`{:.language-php} wird glaub ich nicht funktionieren.
Nein. Selbst wenn man es richtig klammern würde, ergäbe das z.B. den Variablennamen $DE\_LINKBAR1\_LINK\_GUESTBOOK - eine solche Variable gibt es bei dir aber nicht, es ist schließlich eine benannte Konstante.
> Wenn alles nicht geht, dann muss ich wohl auf Arrays zurückgreifen; ist aber nicht das, was ich ich mir vorgestellt habe.
Warum nicht? Das wäre die sauberste (und IMHO schönste) Lösung:
~~~php
$LINKBAR1_LINK_GUESTBOOK = Array
( 'de'=> 'Gästebuch',
'en'=> 'Guestbook'
);
[...]
echo $LINKBAR1_LINK_GUESTBOOK[$language]
Was gefällt dir an diesem Ansatz nicht?
Ach so, und warum übrigens 'Gästebuch' und nicht 'Gästebuch'? Wenn du nicht gerade US-ASCII als Zeichencodierung verwendest, kannst du Umlaute direkt im Klartext notieren.
So long,
Martin
--
Vielseitigkeit: Von vielen Dingen keine Ahnung haben.
Vielseitigkeit: Von vielen Dingen keine Ahnung haben.