kaepten: application - scope : gibts sowas in PHP ?

Beitrag lesen

Hoi

Versteh das nicht ganz. Was steht jetzt genau in dem Sprachenarray? ist das ein Array oder für jede Sprache extra? Und ist der Für jede Seite gleich? Das kann ja nicht sein, Du brauchst ja überall andere Wörter! Wie bindest Du das denn in ASP ein? An welche Stelle und wie unterscheidest Du nach Sprache? Und wie bindest Du das in das eigentliche Dokument ein? Wie würde bei in ASP das folgende PHP-Script in de/en aussehen:

<?
echo "Hallo Welt";
?>

' globla.asa
'Load Text Strings for Labels aus DB
sSQL= "select Item,StringValue_EN,StringValue_FR,StringValue_IT,StringValue_DE from Strings Order by Item"
Set rs = conn.Execute(sSQL)
aStrings =rs.GetRows
application("aStrings") = aStrings
rs.Close

'function-lib welches auf jeder Seite inkludet wird
Function LoadString(ByVal stringnum, ByVal Lang)

...

Select Case Ucase(Lang)
  Case "EN"
   iLangPos = 1
  Case "DE"
   iLangPos = 4
  Case "FR"
   iLangPos = 2
  Case "IT"
   iLangPos = 3
  Case Else
   iLangPos = 4
End Select

LoadString = trim(aStrings(iLangPos,stringnum))

...

End Function

'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";
?>

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.

kaepten