Sprache des Dokuments auslesen
JürgenB
- javascript
Hallo,
irgendwie fehlt mir der richtige Suchbegriff ...
könnt ihr mir verraten, wie ich die Sprache eines Dokuments mit Javascript auslesen kann? Mir geht es nicht um die Spracheinstellung des Browsers oder Systems, sondern um die Sprache des Inhalts, also was z.B. über <html lang="de"> angegeben wird.
Gruß, Jürgen
Meine Damen und Herren, habe ich Ihre Aufmerksamkeit?
könnt ihr mir verraten, wie ich die Sprache eines Dokuments mit Javascript auslesen kann? Mir geht es nicht um die Spracheinstellung des Browsers oder Systems, sondern um die Sprache des Inhalts, also was z.B. über <html lang="de"> angegeben wird.
Dann lies doch genau dieses Attribut aus:
document.documentElement.getAttribute("lang");
Vermutlich wieder der Baum vor lauter Wäldern.
Hallo 1UnitedPower,
vielen Dank. Auf documentElement bin ich nicht gekommen.
Gruß, Jürgen
Hallo Jürgen,
vielen Dank. Auf documentElement bin ich nicht gekommen.
Etwas sperrigere Alternative: document.getElementsByTagName("html").item(0).lang
Grüße,
Thomas
@@1UnitedPower:
nuqneH
Dann lies doch genau dieses Attribut aus:
document.documentElement.getAttribute("lang");
Zusatzfrage: Wie würde man die Sprache eines beliebigen Elements auslesen, z.B. die des em-Elements in
<html lang="en">
<head>…</head>
<body>
<p lang="de">Dieser Satz ist in einer <em>anderen</em> Sprache.</p>
</body>
</html>
(sollte "de" ergeben)?
Vermutlich so:
function getLang(element)
{
var e = element;
while (!e.hasAttribute('lang') && e.parentNode)
{
e = e.parentNode;
}
return e.getAttribute('lang') || 'und';
}
Irgendwann™ vielleicht mal:
function getLang(element)
{
var e = element.[link:https://developer.mozilla.org/en-US/docs/Web/API/Element.closest@title=closest]('[lang]')
return e ? getAttribute('lang') : 'und';
}
Qapla'
@@JürgenB:
nuqneH
Mir geht es nicht um die Spracheinstellung des Browsers oder Systems
Die ist auch ziemlich uninteressant. Interessanter wäre die Liste(!) der bevorzugten Sprachen, nur dass man da mit JavaScript nicht rankommt. (Oder kommt man inzwischen?)
sondern um die Sprache des Inhalts, also was z.B. über <html lang="de"> angegeben wird.
Da ist wohl das „z.B.“ zu viel. Wie sollte sonst die Sprache des Inhalts angegeben werden, wenn nicht über das lang-Attribut?
Qapla'
Hallo Gunnar,
Da ist wohl das „z.B.“ zu viel. Wie sollte sonst die Sprache des Inhalts angegeben werden, wenn nicht über das lang-Attribut?
keine Ahnung. Ich wollte nur durch die Frage keine potentiellen Antworten ausschließen.
Gruß, Jürgen