Automatische Spracheinstellung
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anhieb
aufruf
beispiel
code
country
egal danke
englische fassung
entscheiden
falle
http
index
jemand
land
mache
modifizierte header
sprache
tip
url
verwenden
weiterleitung
-
Hi,
Wie mache ich dass, dass ermittelt wird, aus welchem Land meine Seite aufgerufen wird, und dann automatisch auf entweder die Deutsche oder eben die Englische Fassung weiterleitet wird?
Ob in Htlm, php, oder javascript ist mir eig. egal.
Danke schonmal
newchurch -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
newchurch schrieb:
Willst du das echt anhand eines Landes entscheiden? Viel besser wäre anhand der Browsersprache:
Wie mache ich dass, dass ermittelt wird, aus welchem Land meine Seite aufgerufen wird$lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
Aber dazu gibt es hier schon Threads... -
newchurch schrieb:
Sollte es aber nicht.
Ob in Htlm, php, oder javascript ist mir eig. egal.
Mit Htlm gehts schon mal gar nicht, mit JavaScript gehts nur, wenn es zugelassen wird, also bleibt ja nur PHP übrig.
hackyourlife schrieb:
Eben. Was ist mit denen, die Proxys & modifizierte Header verwenden?
Willst du das echt anhand eines Landes entscheiden?
Ich würde es in der gebräuchlichen Sprache verwenden, und andere Sprachen ggf anbieten.
Nur mal so als Tipp.
hackyourlife schrieb:
Genau, zB hier.
Aber dazu gibt es hier schon Threads...
Falls das nicht reicht, fallen mir auf Anhieb viele Möglichkeiten ein, hier nur 2 Beispiele:
Beispiel 1
Beispiel 2
-
Falls man das ganze nun wirklich über die IP machen will ( trotz berechtigten Einwänden zu Proxies )
$ip = $_SERVER['REMOTE_ADDR']; $json = file_get_contents("http://api.easyjquery.com/ips/?ip=".$ip."&full=true"); $result= json_decode($json,true); echo $result['COUNTRY'];
Beitrag zuletzt geändert: 23.5.2012 16:23:46 von kelserific -
Vielleicht probierst du es mal so:
$sprache = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; $weiterleitung = ''; if (eregi('de', $sprache) && !isset($REX['CUR_CLANG'])) { // deutsch $weiterleitung = 'index.php?article_id=15&clang=1'; }elseif(eregi('en', $sprache) && !isset($REX['CUR_CLANG'])) { // english $weiterleitung = 'index.php?article_id=15&clang=2'; }else{ // default standard $weiterleitung = 'index.php?article_id=15&clang=1'; } header ("location: $weiterleitung"); exit;
-
Ich mache es so:
<?php ini_set("session.gc_maxlifetime", 2000); // hochsetzen ? $default_lang = 'en'; if(!isset($_SESSION['lang'])) // erster aufruf? { if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) // vom Browser holen { $_SESSION['lang'] = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); }else // wie, nicht gesetzt? { $_SESSION['lang'] = $default_lang; // dann default } } if(isset($_GET['lang'])) // da hat jemand eine Sprache ausgewählt { $_SESSION['lang'] = $_GET['lang']; } // jetzt noch eine kleine Sicherheitsprüfung if( ('de' != $_SESSION['lang']) && ('en' != $_SESSION['lang']) && ('es' != $_SESSION['lang']) && ('fr' != $_SESSION['lang']) ) { $_SESSION['lang'] = $default_lang; // dann default } if($_SESSION['lang'] == "de") { include 'lang/de.php'; } elseif($_SESSION['lang'] == "en") { include 'lang/en.php'; } else { include 'lang/en.php'; } ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage