Bevorzugte Sprachen, wie geht "Auswertung"?
Alex.
- javascript
Hallo.
Ich möchte auf meiner Homepage eine Möglichkeit zum automatischen Erkennen der vom Benutzer bevorzugten Sprache haben.
Das Einlesen der im Browser eingestellten bevorzugten Sprachen in eine JavaScript-Variable ("accLangs") habe ich.
Das spätere Vorgehen bei erkannter bevorzugter Sprache habe ich auch.
Was noch nicht so recht klappt: die Bearbeitung per JavaScript (es soll nicht serverseitig ablaufen) der Variablen
"accLangs", in der die bevorzugten Sprachen alle stehen!
Ich möchte damit herausfinden, ob der Benutzer eine deutsche oder englische Seite angezeigt bekommen möchte, die Variable
"defLang" enthält dann die bevorzugte Sprache der von mir angebotenen Sprachen.
Das Script habe ich schon, bis auf die "Auswertung":
<script language="JavaScript" type="text/javascript">
<!--
// ...
var accLangs = accLangs.toLowerCase(); // accLangs ENTHÄLT IM BROWSER EINGESTELLTE BEVORZUGTE SPRACHEN - OKAY!
// AUSWERTUNG: WENN DEUTSCH ("de" oder "de-...") VOR ENGLISCH ("en" oder "en-..."), ODER DEUTSCH VORHANDEN ABER ENGLISCH NICHT, ODER DEUTSCH UND ENGLISCH BEIDE NICHT VORHANDEN:
// var defLang = "deutsch"; /* Deutsch */
else
var defLang = "englisch"; /* Englisch */
// WEITERES VORGEHEN MIT defLang... - OKAY!
// -->
</script>
Das Wichtige: es sollen sowohl reine Sprachen (z.B. "de") als auch Sprach-Länder-Kombinationen (z.B. "en-GB") korrekt
ausgewertet werden. Sprachen wie "...-DE", "...-EN" (auch wenn es sie vielleicht momentan noch nicht gibt), sollen natürlich
nicht als Deutsch bzw. Englisch "erkannt" werden!
Und das ganze soll mit allen Browsern laufen, nur abhängig von der Reihenfolge der bevorzugten Sprachen.
Ich habe schon im Internet geguckt, aber da habe ich nichts dazu gefunden, habe auch schon selbst probiert, aber die
Auswertung ist nicht so gelungen.
Hat vielleicht schon mal jemand sowas gebastelt und/oder kann mir weiterhelfen? Ich brauche nur die "Auswertung", der Rest
läuft.
Das wäre echt super.
Schönen Abend noch
Alex.
hi,
Ich möchte auf meiner Homepage eine Möglichkeit zum automatischen Erkennen der vom Benutzer bevorzugten Sprache haben.
Das Einlesen der im Browser eingestellten bevorzugten Sprachen in eine JavaScript-Variable ("accLangs") habe ich.
den sinn, den ich als deutschsprachiger nutzer in einem japanischen internet-cafe darin sehen werde, lassen wir mal dahingestellt sein ...
Das Wichtige: es sollen sowohl reine Sprachen (z.B. "de") als auch Sprach-Länder-Kombinationen (z.B. "en-GB") korrekt
ausgewertet werden.
dann wertest du den string am besten mit regulären ausdrücken aus, http://selfhtml.teamone.de/javascript/objekte/string.htm#match.
gruss,
wahsaga
Seit wann kann man in einem Browser "bevorzugte Sprachen" einstellen? Das ist ja wohl die Voraussetzung, dass man sie später auslesen kann.
navigator.userLanguage und navigator.language haben nichts mit "bevorzugt" zu tun. Was steht denn in der Variablen accLangs? Ist das ein Array? Oder steht da ein Länderkürzel drin? Oder mehrere?
Tach auch,
Seit wann kann man in einem Browser "bevorzugte Sprachen" einstellen?
Schon seit Ewigkeiten. Da kannst Du eine ganze Liste anlegen und diese nach Wichtigkeit fuer Dich sortieren. In Mozilla unter den Preferences -> Navigator -> Languages, beim IE in den "Internet-Options" (auf dem "General" tab ist unten ein Knopf dafuer).
Ich habe z.B. angegeben dass ich Britisches Englisch dem Amerikanischen vorziehe. [en-gb] vor [en-us]. Nur scheint es nicht allzuviele Seiten zu geben die das auch beruecksichtigen ;-)
Und Deutsch dann halt als vierte Option.
Sollte ich also auf eine Seite kommen die Franzoesisch, Deutsch und Spanisch (aber kein Englisch) anbietet, muesste die mir rein theoretisch die Deutsche Seite geben.
Gruss,
Armin
Ich finde diese Möglichkeit beim IE nicht. In der Hilfe steht auch nichts darüber. Mir ist auch nicht klar welchen Sionn das haben soll. In wie fern werden die Sprachen den bevorzugt? Da keiner der Browser eine Seite übersetzen kann, zeigen alle Browser die Seite doch in der Sprache an, in der sie geschrieben ist.
hi,
Ich finde diese Möglichkeit beim IE nicht.
internet optionen -> registerkarte "allgemein" -> "sprachen"
In der Hilfe steht auch nichts darüber.
hilfe -> suchen -> "sprache" - direkt der erste gefundene eintrag bietet die erklärung an.
bei manchen leuten frage ich mich wirklich, wie die es überhaupt schaffen, ihren browser zu starten ...
Mir ist auch nicht klar welchen Sionn das haben soll. In wie fern werden die Sprachen den bevorzugt? Da keiner der Browser eine Seite übersetzen kann, zeigen alle Browser die Seite doch in der Sprache an, in der sie geschrieben ist.
um welches thema geht es hier denn gerade?
anhand der vom browser als bevorzugte sprache des benutzers übermittelten sprache soll eine version der webseite in eben dieser sprache zurückgeliefert werden ...
gruss,
wahsaga
Tach auch,
Ich finde diese Möglichkeit beim IE nicht. In der Hilfe steht auch nichts darüber.
Wie das geht hat wahsage Dir ja bereits fuer die Deutsche Version erklaert. Ich habe nur Englische Software, deswegen weiss ich nicht immer wie das jeweilige Menue in Deutsch heisst.
Mir ist auch nicht klar welchen Sionn das haben soll. In wie fern werden die Sprachen den bevorzugt? Da keiner der Browser eine Seite übersetzen kann, zeigen alle Browser die Seite doch in der Sprache an, in der sie geschrieben ist.
Die Idee ist dass eine Website in verschiedenen Sprachen vorliegt, was sie insbesondere bei grossen Firmen oder Organisationen ja oft tut. Die Seiten der EU z.B. gibt es zumindest in den offiziellen Amtssprachen, vielleicht sogar in allen der Mitgliedslaender (bin ich jetzt zu faul im Detail nachzusehen).
Wenn ich jetzt auf eine solche Seite gehen soll der Server mir automatisch die Sprache liefern die ich bevorzuge.
In meinen Einstellungen steht z.B. (in dieser Reihenfolge):
EN-GB
EN-US
EN
DE
Angenommen der Server hat eine Englische (EN) und eine Deutsche (DE) Version der Seite (vielleicht die Deutsche Botschaft in Grossbritannien), dann sollte er mir die Englische ausliefern.
Angenommen der Server hat eine Franzoesische und eine Deutsche Version (irgendeine Deutsch-Franzoesische Kooperation vielleicht), dann sollte er mir die Deutsche ausliefern. Zuerst wird er feststellen dass ich Englisch bevorzuge, die hat er aber nicht vorraetig. Also geht er weiter durch meine Liste (die ja nach Prioritaet geordnet ist), so dass er dann zu Deutsch kommt. Die hat er, also liefert er mir die aus.
Jetzt klar?
Gruss,
Armin
Danke. Ich dachte eigentlich, dass ich mich mit meinem Browser ganz gut auskenne. Aber da war ich wohl schon ewig nicht mehr.
Schade, hätte gedacht, daß jemand da vielleicht schon mal gesehen oder gebastelt hat. Aber dann werde ich noch weiter probieren.
Trotzdem dankean alle.
Alex.
Hallo Alex,
Ich möchte auf meiner Homepage eine Möglichkeit zum automatischen Erkennen
der vom Benutzer bevorzugten Sprache haben. Das Einlesen der im Browser
eingestellten bevorzugten Sprachen in eine JavaScript-Variable
("accLangs") habe ich.
Kurze Zwischenfrage: Wieso ausgerechnet Javascript? Meistens wird so
etwas serverseitig geregelt, mit dem Vorteil, daß es öfter, also auch
bei denen, die Javascript ausgestellt haben, funktioniert.
http://aktuell.de.selfhtml.org/artikel/server/alt-http/index.htm
Na gut, es setzt voraus, daß man die Möglichkeit hat, den Server
entsprechend einzustellen.
Tim
Juhu.
Kurze Zwischenfrage: Wieso ausgerechnet Javascript? Meistens wird so
etwas serverseitig geregelt, mit dem Vorteil, daß es öfter, also auch
bei denen, die Javascript ausgestellt haben, funktioniert.
Ja, zu JavaScript habe ich mich entschieden, da ich meine Homepage möglichst autark haben möchte - also ohne auf irgendwelche Server oder externe Ressourcen angewiesen zu sein, so gut das eben geht. Ich weiß ja auch nicht, ob mein Gratis-Webspace irgendwann mal abgeschafft oder verändert wird, so daß es serverseitig nicht mehr ginge. Obendrein biete ich meine HP zum Download an, und offline gibt's keinen Server, daher muß ich in dem Fall so gut wie möglich mit JS agieren und serverseitige Sachen auf ein Minimum reduzieren!
Das Problem ist ja nur: wie finde ich raus, ob der Benutzer laut Browsereinstellungen lieber deutsch oder englisch angezeigt haben möchte? Ansonsten klappt ja alles mit JS, nur diese Abfrage ist wohl so kompliziert.
Gruß
Alex.
hi,
Ja, zu JavaScript habe ich mich entschieden, da ich meine Homepage möglichst autark haben möchte - also ohne auf irgendwelche Server oder externe Ressourcen angewiesen zu sein, so gut das eben geht.
mit der begründung den einsatz einer clientseitigen technik zu rechtfertigen, deren vorhandensein noch weitaus unverlässlicher ist, ist aber schon ziemlich schizophren ...
gruss,
wahsaga