Andreas: application - scope : gibts sowas in PHP ?

Beitrag lesen

Hallo!
Hatt ich wohl was übersehen.

'Seite mit Sprachabhängigen Texten
...
const lblHalloWelt = 2
sLang=trim(request("lang")) '(oder woher auch immer)
...

<%=LoadString(lblHalloWelt,sLang)%> --> Das wäre Dein:

<?
echo "Hallo Welt";
?>

Den mehrdimensionalen Array kann man ja genau so in PHP erstellen. z.B. wenn die Daten in einer DB stehen, würde ich mir ein Eingabeformular basteln, und jedesmal wenn die Tabelle geändert wird, gleichzeitig den Array in der Datei 'sprachen_arrray.php' neu erstellen.

Dann bräuchtest Du ein 2. Script, 'sprachen_funktion.php'

<?
// Datei 'sprachen_funktion.php':

function mehrprachig(text,Sprache){
include ("sprachen_arrray.php");

// $array_sprachen ist der Name des Mehrdimensionalen Arrays in 'sprachen_arrray.php', genau wie in 'global.asa'
return $array_sprachen[$text][$Sprache];

}
?>

Hallo Welt sähe dann so aus:

<?
include ("sprachen_funktion.php");

$sprache = "DE";
// würde ich lieber in einer Session Speichern,oder über die Links übergeben

echo mehrsprachig("lblHalloWelt",$sprache);

?>

so in etwa sollte es gehen, sicher geht das noch schöner, aber geht jetzt nur ums Prinzip!

Evtl. würde ich es ohne die Funktion machen, nur muß dann jedesmal der kpl. Array geladen werden, ich weiß nicht genau, wei ish cdas auswirkt:

<?
include ("sprachen_arrray.php");
$sprache = "DE";

echo $array_sprachen["lblHalloWelt"][$sprache];

?>

Alles klar? Der "Trick" wie Du siehst ist das Mehrdimensinale Array aStrings. Das wird _einmal_ abgefüllt und steht dann jeder Seite zur Verfügung.

Ja, aber ich würde den Array lieber direkt beim schreiben neu füllen und fest speichern!

viele Leute hier kennen sich mit PHP deutlich besser aus als ich, vielleicht haben dei ja ein bessere Idee, oder sagen was zu meinem Vorschlag, interessiert mich nämlich sehr, würde mich daher auch sehr freuen, wenn Du mal am Ende Deine Lösung postest!

Viele Grüße
Andreas

PS: Man könnte es in der Tat noch verinfachen, wenn man die Sprachangabe erst in der Funktion ermittelt, dann würd ein

echo mehrsprachig("lblHalloWelt");

reichen, wäre sehr schön wie ich finde ;-)