mehrsprachige webseite

vekTorbln

Mitglied
Hallo,

leider konnte mir die bisherigen Forenbeiträge zu meinem Problem nicht weiterhelfen deshalb
frage ich hier nochmal.

ich möchte auch einige Wörter und Teile einer Webseite je nach gewählter Sprache ausgeben.

Die seite wird erst auf deutsch dargestellt und im Menü rechts kann man zwischen deutsch und englisch wählen. Wählt man nun ENGLISH lädt die Seite neu, in der dann eine englische Menüseite geladen (include) wird, in dieser habe ich mit
PHP:
<?php
$arr = array("eng" => true);  
?>
ein ARRAY definiert. Alle Überschriften und zweisprachigen Texte habe ich mit einem switch-Befehl ausgestattet, wenn eng. wahr ist (also 1) dann gib "landscapes" aus z.B.
PHP:
<?php
switch($arr["eng"]) {
case 1: echo "landscapes";
break;
case 0: echo "Landschaft";
break;
default: echo "Landschaft";
} 
?>

oder das Hauptmenu in der Mitte
PHP:
<?php
switch($arr["eng"]) {
case 1:  include ("e_menuh.php");
break;
case 0: include("menuh.php");
}  ?>

im Rechten Menü kann man dann wieder zum Deutschen Teil, "eng" ist dann wie oben aber auf "false" gestellt.
Im Grunde habe ich einen Schalter der mir sagt an1 oder aus0.. englisch..oder . deutsch..


funktioniert leider nicht.. vielleicht weiß jemand die Lösung..

kann es sein das mein Array globalisiert werden muss damit es beim neuladen der PHP-Seiten nicht gelöscht wird..?

Guten Abend ..Danke
 

Anhänge

  • Unbenannt-2.gif
    Unbenannt-2.gif
    1,7 KB · Aufrufe: 109
Zuletzt bearbeitet:
Bau das ganze auf Sessions auf. Dann hast du, solange der User den Browser nicht schließt, die Informationen über die gewählte Sprache.
 
ja hab vielen Dank für deinen Hinweis, aber das ist wahrscheinlich für mich nicht mehr nachvollziehbar. schade und jetzt ist meine Anfrage untergegangen.. :/
 
Hi,

sofern $eng im code oberhalb vom switch definiert ist, sollte das kein Problem darstellen.

Probier mal mal ein
Code:
echo $eng;
an der stelle wo du es benutzt um zu sehen wie der Wert ist. Wenn der leer [wenn echo nichts ausgibt kann das auch false heißen] ist, hast du es nicht richtig eingebunden. Ohne den ganzen Code kann man/ich auch nicht herausfinden warum.

Mal ab davon. Warum nennst du dein Array nicht $language und setzt es auf "english" oder "german"? Dann hast du das ganze etwas flexibler.

Code:
switch($language) {
case "english":
break;
default:
break;
}

Wenn die Seite etwas größer werden soll, würde es sich auch empfehlen die Texte aus der Datenbank oder einem Template-System zu laden ( schau dir smarty.php.net an )

Gruß

Blue
 
Zuletzt bearbeitet:
Zurück