(Autom.) Spracherkennung & entspr. Weiterleitung!

Oschi

Hier & Da - User
ID: 99211
L
18 September 2006
48
2
Servus !

Ich hab ne Webseite in deutsch & englisch!
Nun möchte ich gerne, dass die Webseite von grundauf in der Sprache des Besuchers erscheint.
Ich könnte so ne Intro-Auswahlpage machen, aber das ist irgendwie blöd und nicht mehr zeitgemäß!

www.domain.com => basis deutsch

wenn user aus anderen land, dann

www.domain.com/en-us/

Die Auswahl der Sprache ist aber auf den Pages auch per Klick auf kleine Fännchen möglich.
Nun will ich aber nicht, das ein deutscher Ami, (landet ja auf der en-us), auf die deutschsprachige per klick wählt, aber dann durch diese automatische erkennung direkt wieder zurück auf die en-us geschickt wird...


Gibts da was in php?
Denke is sinnvoller als was mit java!?

thx
 
Mit Java wirst du das niemals realisieren können.

Es kommt drauf an, was du checken willst, am einfachsten ist der Fähnchenkram. Dort kannst du dann per php einfach die Sprache ändern. Das Auslesen von IP-Adressen oder ähnlichem und von dort auf die Sprache zu stoßen ist Mist.
 
Mit Java wirst du das niemals realisieren können.

Es kommt drauf an, was du checken willst, am einfachsten ist der Fähnchenkram. Dort kannst du dann per php einfach die Sprache ändern. Das Auslesen von IP-Adressen oder ähnlichem und von dort auf die Sprache zu stoßen ist Mist.

paypal z.B. hat das ja so.
wenn man paypal.com eingibt, gelangt man automatisch zur .de

die sache ist ja die:
ich will ja keinen user direkt vergraulen.

denn wenn nen Engländer/Ami die Seite aufruft, weils lt. domain eine vermeintlich englischsprachige seite ist und er sieht sofort nur deutsch, dann is der schneller wieder weg, als das er evtl. nach der Fahne für seine Sprache sucht...
 
das ist wohl richtig und nicht sehr schwer!

auch eher die einfachste lösung...

aber ich dachte es ginge so einfach wie gedacht!
 
das ist wohl richtig und nicht sehr schwer!

auch eher die einfachste lösung...

aber ich dachte es ginge so einfach wie gedacht!

Geht es doch auch?

3 Indexseiten ... die erste global checkt die Sprache nach irgendeinem Kriterium, bzw. zeigt die Landesflaggen und dann gibt es halt eine für en/us und eine für dt.
 
Ich würds mit Keksen machen, also wenn einer noch keinen Keks hat, dann schick ihm einen mit der automatisch ermittelten Sprache drin, die er dann per Flagge ändern darf (einfach neuen Keks mit neuer Sprache drauf). Auf emule-project.net findest Du ein Beispiel für eine solche Flaggensammlung ;)

Oder man kodiert es wirklich nur über die URL, also wenn jemand ohne Sprachkennzeichnung auftaucht (die Seite ohne Zusatz neu aufruft) wird er einfach an die am ehesten passende Sprache weitergeleitet oder landet auf einer Seite "A) Willkommen. B) Welcome. C) Grüzi.". Flaggen funktionieren natürlich auch dort. :D

PS: Und nix gegen Java, darin lässt sich praktisch alles machen, das man auch in PHP machen kann und umgekehrt. Ich würde aber nicht sagen, dass es sicherer oder besser ist, es hat nur andere Stärken und Sicherheitslücken ;)
Und Mist kann man in beiden Sprachen programmieren :ugly:
 
Mit $HTTP_ACCEPT_LANGUAGE; kannst du die eingestellt Sprache im Browser des USers abfragen.

Allerdings kann diesert Wert auch leer sein.

Außerdem solltest du immer die Möglichkeit bieten, die Sprache auch wieder manuell ändern zu können.
 
Ich würds einfach so machen:

example.org
/
index.php - Prüft die vom Browser bevorzugte Sprache. Wenn leer -> geoip. -> wenn IP in Hintertimbuktu => leite auf /en-us

/en-us
Englische Seite mit Deutscher Flagge. Flagge linkt auf /de

/de
Deutsche Seite mit US- bzw. britischer Englisch Flagge. Flagge linkt auf /en-us

Somit wird nur bei der obersten Seite "/" eine Weiterleitung unternommen und man braucht für die darunterliegenden Seiten keine Cookies o.ä. sondern linkt nur auf eine andere Sprache.

Fertig.
 
Mit Java wirst du das niemals realisieren können.

Es kommt drauf an, was du checken willst, am einfachsten ist der Fähnchenkram. Dort kannst du dann per php einfach die Sprache ändern. Das Auslesen von IP-Adressen oder ähnlichem und von dort auf die Sprache zu stoßen ist Mist.

Ohren aufsperren!
warum soll das mit Java nicht gehen? JSP (Java Server Pages) können genauso die Sprache des Clientbrowser auslesen, warum sollte das net möglich sein ?
 
Ohren aufsperren!
warum soll das mit Java nicht gehen? JSP (Java Server Pages) können genauso die Sprache des Clientbrowser auslesen, warum sollte das net möglich sein ?

Java <> Jsp <>Java Script.

Mit JSP ist das kein Problem, aber mit Java ist es nicht alleine realisierbar. Davon rede ich und wenn der Threadersteller kein Java kann, muss er Java, HTML und dann noch JSP lernen um es selbst zu proggen. Bissl aufwendig, oder?

Klar lässt es sich realisieren, nur nicht direkt mit Java. Du weißt doch ich bin selbst ein großer Freund von Java und Jsp.
 
Auch ohne ein Java-Nerd zu sein: Warum sollte es mit Java nicht gehen? Du kannst in Applets die Browsersprache abfragen und einen Redirect im Browser durchführen. Nun sei mal dahingstellt, dass diese Maßnahme absolut übertrieben ist - aber technisch möglich ist es.

Und zum Teil Jsp <> Java... Jsp's basieren auf Java - also falsch war ice-breakers Aussage meiner Meinung nach nicht. Wäre ja wie die Aussage ASP .Net <> .Net - wobei ersteres auf zweitem basiert.

Back to the topic:
Die Erkennung der Browsersprache sollte natürlich nicht auf jeder Seite ausgeführt werden, sondern nur bei dem ersten Seitenaufruf. Der erste Aufruf sollte sich die Sprache in nem Cookie oder der Session merken. Wählt der User nun eine andere Sprache (sei es über eine Flagge oder was auch immer) kann einfach die Session überschrieben werden. Die Seiten müssen dann "nur noch" kontrollieren, welche Sprache aktuell gewählt ist.
 
Jaaaaaa. Es geht über Java->Jsp->Html.

Wir sind doch hier in der Programmierung ein j++ ist was anderes als ++j. Darum ging es mir. Rein mit Java ist ein nicht möglich, darum ging es.

Klar kann man es auch über eine Bean machen, aber eben nicht mit Java pur.
 
Sorry, aber ich versteh deine Aussage immer noch nicht ^_^. Wenn ein Applet pures Java ist (wieso sollte es das nicht sein?) funktioniert es auf jeden Fall mit purem Java. Applets haben nichts mit JSP zu tun. Man könnte also eine clientseitige Java-Komponente schreiben, die für die Lokalisierung sorgt. Mehr wollte ich gar nicht beitragen *g*.

Das ganze wäre imho auch nur ein Java-Applet-Zweizeiler. Locale-Objekt auslesen und Redirect mit getAppletContext().showDocument(lokalisierteUrl);.
 
neija, ich sah das etwas anders als Cybo, wenn der Threadersteller von Java im Zusammenhang von PHP spricht, bin ich doch schonmal von JSP asugegangen, denn normales java im vergleich zu PHP? was wollen wir damit.
ein normales java-consolen programm würde uns da natürlich rein gar nix bringen.
ein java-applet hingegen mit System.getProperty("user.language") würde uns natürlich helfen, aber ziemlich unnsinnig in einem Applet das zu lösen, wenn nicht sogar die dümmste möglichkeit, denn wenn der client kein java hat? pustekuchen!
es gibt ja serverseitige-möglichkeiten also sollte man diese nutzen.
 
*seufz* Ice, ich bin davon ausgegangen, der Threadersteller meint Java Script. Ist mir aber auch relativ Wurst, denn wir diskutieren seit x Beiträgen ob es direkt mit Java geht (tut es ohne Schnittstelle aber nicht). Hilft nur keinem. Sorry, wenn ich nur den Unterschied zwischen Java <>Jsp <>JavaScript rausziehen wollte. Ich klinke mir hier mal aus, denn zur weiteren Lösung kann ich nichts mehr beitragen.