Seite 1 von 1

mehrsprachig

Verfasst: 12.04.2006 17:26
von Neo_
Hy,

Ich hab auch ne Frage zu diesen Thema. Ich biete meine Page (in php geschrieben) 2-sprachig an, zumindest hab ich es vor. Gelöst hab ich es mit $_SERVER["HTTP_ACCEPT_LANGUAGE"]. Dazu hab ich meine Seite mit Platzhaltern "gefüllt" die dann mit der jeweiligen Sprachdatei gefüllt wird. Jetzt möcht ich nebenbei den Usern zusätzlich anbieten, die Sprache selber zu wählen. Nur hab ich derzeit keine Ahnung wie das funktionieren könnte.

Könnte mir da jemand helfen? Realisiert soll das ganze per Klick auf die gewünschte Flagge werden.

Verfasst: 12.04.2006 18:52
von hagily
Hi!

Ganz einfach!

Code: Alles auswählen

if (HTTP_GET_VARS['lang'] =='de')
{
include(DEINE DEUTSCHE SPRACHDATEI);
}
else
{
include(DEINE STANDART SPRACHDATEI);
}
Dein Link müsste dementsprechend so aussehen
xyz.php?lang=de
Jetzt würde die deutsche Sprachdatei aufgerufen werden
wenn nur xyz.php aufgerufen wird die Standartdatei

Verfasst: 12.04.2006 19:05
von Neo_
Ne, ich glaub du hast mich da irgendwie falsch verstanden. Diese Sprachdateien stellt nicht die Problematik dar, das hab ich a schon längst umgesetzt. Meine Frage war, wie ich es realisiere, neben der automatischen Spracherkennung, den User die möglichkeit zusätzlich biete, die Sprache per Klick auf die Flagge "händisch die Sprache zu wechseln.

Verfasst: 12.04.2006 19:10
von fanrpg

Code: Alles auswählen

<?
if( $_GET['lang'] == 'de' ) // deutsch
{
setcookie('sprache', 'de', time()+3600);
}
else if( $_GET['lang'] == 'en' ) // englisch
{
setcookie('sprache', 'de', time()+3600);
}

$lang = ( isset($_COOKIE['sprache']) ) ? $_COOKIE['sprache'] : $_SERVER['HTTP_ACCEPT_LANGUAGE'];
?>
In $lang haste dann die Sprache die der User ausgewählt hat.
Und das wird immer aktualisiert wenn man auf die Flaggen klickt sonst nicht.

Verfasst: 12.04.2006 19:28
von Neo_
Und wie bring ich das jetzt in verbindung mit den Flaggenbuttons? Irgendwie steh ich heut voll daneben -.-

Verfasst: 12.04.2006 19:30
von S2B

Code: Alles auswählen

<a href="deine_datei.php?deine_parameter&lang=de"><img src="dein_flaggenbild_de.gif" alt="Deutsch" /></a>
:wink:

Verfasst: 12.04.2006 20:17
von Neo_
Ne,... funktioniert nicht :(
Heut dürft echt nicht mein Tag sein :/

Verfasst: 13.04.2006 00:09
von Dennis63
Geht nicht, gibts nicht. ;)

Was kommt für eine Fehlermeldung?
Kommt die Variable in PHP an?
Was steht dann in PHP in der Variable?


Ich habe das bei mir so gelöst:
1) Es wird geschaut, ob der User im Pfad eine Sprachangabe hat (/de/ = Deutsch, und /en/ = Englisch
2) Es wird ein Cookie gesucht, welches vorher gesetzt wurde, falls der User mal auf eine der Sprachflaggen geklickt hat
3) Es wird nach der Browsersprache gesucht
3b) (alt) Die Domain .de ergibt Deutsch und .com ergibt Englisch

Das wurde dann abgearbeitet, bis etwas gefunden wurde, was passt.

Grüße
Dennis