Cybaer: Automatische Erkennung der (Browser)Sprache

Beitrag lesen

Hi,

Dannschreib's auch nicht. ;-)
Wieso hast's du dann geschrieben? Brauchst du's?»

Nein, aber eine "falscher Lösungsweg" sollte nicht unbedingt unkommentiert im Forumsarchiv stehen.

Ach, gibt's den schon? Dann müsste man die Weiche erweitern. :o)

Ist das jetzt "Rückzugs-Ironie", oder ernst gemeint?

Falls letzteres und für JavaScript-Neulinge:

Wichtiger JavaScript-Grundsatz, der gerne mißachtet wird: "Gehe *nie* danach, welchen Browser der Surfer verwendet. Halte dich einfach an das, was dieser Browser kann!"

Will konkret heißen:

agt_lang=(navigator.language)?navigator.language:(navigator.userLanguage)?navigator.userLanguage:"";

bzw. die lange Version

if(navigator.language) {
 agt_lang=navigator.language;
} else if(navigator.userLanguage) {
 agt_lang=navigator.userLanguage;
} else {
 agt_lang="";
}

beachtet diese Regel. Kennt der Browser navigator.language (vielleicht ja auch der IE 7), wird auch navigator.language verwendet. Alternativ wird navigator.userLanguage verwendet. Und wenn es das auch nicht gibt, ist das Gewünschte halt nicht zu ermitteln.

Und genau das hatte ich eigentlich erwartet, als Du gefragt hast "Warum fragst du nicht die Methode ab?". Ist halt deutlich sauberer/sicherer/eleganter als "Warum machst du nicht eine Browserweiche?" (grusel).

In der jetzigen Form unter jetzigen Voraussetzungen sehe ich keinerlei Problematik. Eventuell irgend wann mal zukünftig....

Ja, solcherlei Argumentation kennt man vom "Jahr 2000"-Problem. Da haben die Programmierer im vorigen Jahrhundert auch gesagt: "Was brauchen wir 4 Stellen für die Jahreszahl? 2 tun's doch auch!" >;->

Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!