JürgenB: Sprache des Dokuments auslesen

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

  1. 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.

    --
    “All right, then, I'll go to hell.” – Huck Finn
    1. Hallo 1UnitedPower,

      vielen Dank. Auf documentElement bin ich nicht gekommen.

      Gruß, Jürgen

      1. Hallo Jürgen,

        vielen Dank. Auf documentElement bin ich nicht gekommen.

        Etwas sperrigere Alternative: document.getElementsByTagName("html").item(0).lang

        Grüße,
        Thomas

    2. @@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'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  2. @@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'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. 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