[Suche Funktion] ähnlich navigator.language

Hallo miteinander,

ich habe folgendes Problem: Ich möchte auf meiner Index-Seite prüfen, in welcher Sprache der Browser des Besuchers läuft und dann die Startseite im entsprechenden Unterverzeichnis (z. B. „en/“ für Englisch oder „de/“ für Deutsch) aufrufen.

In einer JavaScript Referenz bin ich auf das Objekt navigator.language gestossen, scheint aber nur in Netscape zu funktionieren. (Bei IE erscheint der Wert „undefined“.)

Ich brauche ein Script (Perl, PHP oder Java), das das bewerkstelligen kann. Falls jemand ein Beispiel hat, oder eine entsprechende Url kennt, bitte mir melden.

Mit freundlichen Grüßen
Manuel Kirchberger

Hi,

in welcher Sprache der Browser des Besuchers läuft

das wäre bei mir englisch. Und nun?

Es existiert kein Weg herauszufinden, welche Sprache der Benutzer _derzeit_ bevorzugt - außer durch Links. Clientseitig bekommst Du zudem praktisch überhaupt nichts über irgendwelche Spracheinstellungen heraus; serverseitig kannst Du über die ACCEPT_LANGUAGE-Header zumindest eine Vorauswahl treffen, da diese beinhalten, was der Benutzer _üblicherweise_ bevorzugt. Das Stichwort heißt „Content-Negotiation“. Vergiss aber auch hier nicht die Links zu den anderen Sprachversionen.

In einer JavaScript Referenz bin ich auf das Objekt
navigator.language gestossen, scheint aber nur in Netscape zu
funktionieren. (Bei IE erscheint der Wert „undefined“.)

Diese Eigenschaft beinhaltet auch nur die Sprache des Browsers, nicht die bevorzugte Sprache des Benutzers.

Ich brauche ein Script (Perl, PHP oder Java),

(Btw: Du verwechselst hoffentlich nicht Java mit JavaScript, oder?)

das das bewerkstelligen kann.

Wenn Dein Server Apache ist, kannst Du es konfigurieren und brauchst nicht zu programmieren. Die Dokumentation findest Du unter http://www.apache.org/.

Cheatah

Hi Cheatah,

danke für die ausführliche Antwort. Das ganze wird benötigt für eine Homepage. Der Kunde möchte praktisch, daß der Besucher aus der Tschechei auf die tschechische Version umgeleitet wird, der aus Deutschland auf die deutsche Version, usw… Ich hab dem Kunden schon erklärt, daß es meines Wissens nach nur unter Netscape genannte Funktion gibt, die evtl. funktionieren wird. Ich wollte auch nur Wissen, ob es irgend eine andere Möglichkeit gibt, sowas abzufragen, z. B. irgendwelche serverseitigen Variablen, die man mittels Perl oder PHP abfragen kann.

in welcher Sprache der Browser des Besuchers läuft
das wäre bei mir englisch. Und nun?

Dann würdest Du halt auf die englische Seite weitergeleitet.

Es existiert kein Weg herauszufinden, welche Sprache der
Benutzer _derzeit_ bevorzugt - außer durch Links.

  • Oke, das ist definitiv eine klare Aussage die mir sehr weiterhilft, danke.

Clientseitig
bekommst Du zudem praktisch überhaupt nichts über irgendwelche
Spracheinstellungen heraus; serverseitig kannst Du über die
ACCEPT_LANGUAGE-Header zumindest eine Vorauswahl treffen, da
diese beinhalten, was der Benutzer _üblicherweise_ bevorzugt.
Das Stichwort heißt „Content-Negotiation“. Vergiss aber auch
hier nicht die Links zu den anderen Sprachversionen.

In einer JavaScript Referenz bin ich auf das Objekt
navigator.language gestossen, scheint aber nur in Netscape zu
funktionieren. (Bei IE erscheint der Wert „undefined“.)

Diese Eigenschaft beinhaltet auch nur die Sprache des
Browsers, nicht die bevorzugte Sprache des Benutzers.

Ich brauche ein Script (Perl, PHP oder Java),

(Btw: Du verwechselst hoffentlich nicht Java mit JavaScript,
oder?)

Nein, Du solltest vielleicht nicht jedes Wort auf die Goldwaage legen, es gibt Momente im Leben, in denen man sich nicht genau richtig ausdrückt. Sowas soll vorkommen :wink:
(Btw: Im Text beziehe ich mich auf die Java Script -Referenz im Absatz darüber)

das das bewerkstelligen kann.

Wenn Dein Server Apache ist, kannst Du es konfigurieren und
brauchst nicht zu programmieren. Die Dokumentation findest Du
unter http://www.apache.org/.

gemieteter Webspace. d.h. ich werde mich etwas schwer tun den Server zu konfigurieren :wink:

Cheatah

Hi,

Der Kunde möchte praktisch, daß der
Besucher aus der Tschechei auf die tschechische Version
umgeleitet wird, der aus Deutschland auf die deutsche Version,

ja, das ist mittels Content-Negotiation sehr komfortabel und transparent möglich - vor allem unabhängig von clientseitigen Sprachen, so dass es mit Sicherheit bei jedem Browser mit jeder Einstellung funktioniert. Das schlimmste was passieren kann ist, dass zunächst die falsche Sprache gewählt wird, weswegen Links zu anderen Versionen unerlässlich sind. Ist aber bei dieser Technik auch kein Problem.

(Btw: Du verwechselst hoffentlich nicht Java mit JavaScript,
oder?)

Nein, Du solltest vielleicht nicht jedes Wort auf die
Goldwaage legen,

Gerade bei häufigen Verwechslungen wie Java/JavaScript, welche nun wirklich nicht das geringste miteinander zu tun haben, tue ich das aber :smile:

gemieteter Webspace. d.h. ich werde mich etwas schwer tun den
Server zu konfigurieren :wink:

.htaccess ist keine Passwortschutzdatei, sondern eine Konfigurationsdatei. Die meisten Provider erlauben die Verwendung derselben :smile:

Cheatah