Hallo,
ich verwende eine relativ einfache Methode, um mehrere Sprachen einer Webseite zu realisieren. Allerdings taucht dabei ein Problem auf, und ich komme nicht darauf, woran es liegen könnte. Ich weiß, dass es hier sicher bessere Lösungen gibt, mich würde jedoch interessieren, wo hier der Fehler liegt. Ich verwende folgendes Skript:
in $language['1'] stehen in der Sprachdatei jeweils die Texte. Das Problem: Es wird zwar die richtige Datei per include einbezogen, die Session funktioniert, es wird aber nur der erste Buchstabe des Textes augegeben. Sowohl wenn ich auf Englisch, als auch auf Deutsch schalte. Woran könnte das liegen?
ich verwende eine relativ einfache Methode, um mehrere Sprachen einer Webseite zu realisieren. Allerdings taucht dabei ein Problem auf, und ich komme nicht darauf, woran es liegen könnte. Ich weiß, dass es hier sicher bessere Lösungen gibt, mich würde jedoch interessieren, wo hier der Fehler liegt. Ich verwende folgendes Skript:
PHP:
session_start();
$client_language = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
//Prüfen, ob Wert per GET übergeben wurde
if (!empty ($_GET['language'])) {
$language = $_SESSION['language'] = $_GET['language'];
}
//Prüfen, ob Wert bereits in $_SESSION['language'] steht
elseif (!empty ($_SESSION['language'])) {
$language = $_SESSION['language'];
}
//Falls keines der oberen zutrifft, prüfe Sprache des Browsers
else {
if ($client_language == "de") {
$language = "German";
}
else {
$language = "English";
}
}
//Include
if ($language == "German") {
include ("library/languages/German.php");
}
else {
include ("library/languages/English.php");
}
echo $language['1'];
in $language['1'] stehen in der Sprachdatei jeweils die Texte. Das Problem: Es wird zwar die richtige Datei per include einbezogen, die Session funktioniert, es wird aber nur der erste Buchstabe des Textes augegeben. Sowohl wenn ich auf Englisch, als auch auf Deutsch schalte. Woran könnte das liegen?