4x bewertet

Sprachweiche

von Nekoji  |  07.08.2008 um 11:55 h
PHP Anwendungen
Typ: PHP Anwendungen
Stufe:Einfach
Ähnlich wie der Browser kann auch die Sprache ermittelt werden, die der Besucher eurer Webseite benutzt. Mit der in PHP vordefinierten Variable $HTTP_ACCEPT_LANGUAGE könnt ihr die gewählte Sprache einfach abfragen.


<?php
    $sprache
=substr($HTTP_ACCEPT_LANGUAGE02); /* Ermitteln der
benutzten Sprache */
    
    
if ($sprache == "de"/* Wenn die Sprache deutsch ist */
    
{
        
/* Weiterleitung auf die deutschsprachige Seite */
        
echo "<meta http-equiv=Refresh content=\"0; url=deutsch.php\">"
    }
    
    elseif (
$sprache == "en"/* Wenn die Sprache englisch ist */
    
{
        
/* Weiterleitung auf die englischsprachige Seite */
        
echo "<meta http-equiv=Refresh content=\"0; url=englisch.php\">"
    }
    
    else 
/* Wenn keine der oben abgefragten Sprachen gewählt ist */ 
    
{
        
/* Weiterleitung auf Standard-Seite */
        
echo "<meta http-equiv=Refresh content=\"0; url=deutsch.php\">"
    }
?>



Aus $HTTP_ACCEPT_LANGUAGE lesen wir die ersten beiden Stellen aus. Diese enthalten das Kürzel für die gewählte Sprache, zum Beispiel "de" oder "en". Dann fragen wir ab, welche Sprache der Besucher nun benutzt und leiten ihn auf die entsprechende Seite weiter. Statt Weiterleitungen könnt ihr natürlich auch mit Includes arbeiten und verschiedend-sprachige Seiten includen.

Zu guter Letzt habe ich noch eine weitere Variante für euch, die im Prinzip das Gleiche macht, aber statt mit if-Abfragen mit Switch arbeitet:


<?php
    $sprache
=substr($HTTP_ACCEPT_LANGUAGE02); /* Ermitteln der
benutzten Sprache */
    
    
switch ($sprache
    {
        case 
"de"$weiterleitung "deutsch.php"; break; /* Legt die
Weiterleitung auf Deutsch fest */
        
case "en"$weiterleitung "englisch.php"; break; /* Legt die
Weiterleitung auf Englisch fest */
        
default: $weiterleitung "deutsch.php"/* Legt die
Weiterleitung auf Standard fest */
    
}
    
    
header ("location: $weiterleitung"); /* Führt die Weiterleitung
auf die vorher festgelegte Seite durch */
?>



Die Kommentare sollten eigentlich alles weitere erklären.
Ich hoffe das war soweit verständlich. ;)



2 Kommentare




Jel

Wow, das ist durch die Kommentare verständlich und leicht erklärt !!! =) Volle Punktzahl.
am 07.08.2008 um 22:52 Uhr


Mauri

Wow, klasse Tut. Ich wollte schon immer mal wissen, wie man das macht.
6 Sterne Smilie
am 30.04.2009 um 00:30 Uhr