Mailinglisten-Archive |
> mach doch einfach ein $LANG flag und und oeffne dann die language datei
> $datei = "$LANG" . ".inc.php";
Meine Lösung (PHP):
1. Benutzer laden -> $USER["language"]
2. default Languagepackage laden
z.B: include("lang/lg_pack_".DEFAULT_LANGUAGE)
So sehen die Languagepackages aus:
<?php
$language=array // english package
(
"LG_SHOPPING_CART" => "Your shopping cart",
"LG_SHOPPING_CART_ORDER" => "checkout"
);
?>
3. Languagepack des Benutzers laden, wenn vorhanden und
wenn nicht $USER["language"]=DEFAULT_LANGUAGE
z.B: include("lang/languagepack_".$USER["language"])
4. Array nach Konstanten schreiben:
while (list($key,$value)=each($language))
{
define($key,$value);
}
5. Ausgabe
<h2><?php echo LG_SHOPPING_CART ?></h2>
<form>
<input type="submit name="checkout"
value="<?php echo LG_SHOPPING_CART_ORDER ?>">
</form>
Wenn du keine Konstanten nehmen willst, kannst du auch das Array als
global angeben und dann immer $language["LG_SHOPPING_CART"] schreiben.
Ich glaube, daß Variablen etwas schneller sind als Konstanten. Must
du benchmarken.
Du kannst auch HTML und PHP wird vermischen in wahnwitzigen echo-Zeilen.
Aber das ist nicht gerade schön, wenn das HTML-Layout mit wysiwyg
editiert werden soll. Also mache ich lieber etwas mehr Code. Performance
ist dabei so gut wie gleich.
Patrick Bierans / LYNET Kommunikation AG/ pbierans_(at)_lynet.de
---------------------------------------------------------------
Das Internet-Systemhaus fuer Multimedia- und Netzwerkloesungen.
Zentrale Luebeck: Fon +49-451-6131-0, Fax -333
Niederlassung Hamburg: Fon +49-40-65738-0, Fax -333
---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive