Atributul lang în HTML

Atribute globale HTML 4.0+

Declară limba conținutului unui element, pentru pronunția corectă în cititoarele de ecran, despărțirea în silabe, traducere și SEO.

Sintaxă tag
<html lang="ro">
<span lang="en">feedback</span>

Ce face Atributul lang

Atributul lang primește un cod de limbă (BCP 47): ro pentru română, en pentru engleză, en-GB pentru engleza britanică. Se pune o dată pe <html> pentru toată pagina și, unde e cazul, pe elementele care conțin altă limbă.

Limba corectă ajută cititoarele de ecran să aleagă vocea și pronunția potrivită, browserul să despartă cuvintele în silabe (hyphens: auto în CSS), să aleagă ghilimelele pentru <q> și să ofere traducerea automată doar când e nevoie.

Elementele moștenesc limba de la părinte, deci nu trebuie să o repeți peste tot. Pentru limbi care se scriu de la dreapta la stânga, combină lang cu atributul dir.

Atribute

Atribut Descriere
ro Română.
en / en-US / en-GB Engleză, cu varianta regională opțională după cratimă.
"" (gol) Limbă necunoscută.

Exemple

Exemplul 1: Pagină în română cu un citat în engleză

Pagina este marcată ro, iar citatul în engleză are propriul lang="en", ca să fie pronunțat corect.

<!DOCTYPE html>
<html lang="ro">
<head>
  <meta charset="UTF-8">
  <title>Jurnal de lectură</title>
</head>
<body>
  <p>Ana a notat fraza preferată din carte:</p>
  <blockquote lang="en">Not all those who wander are lost.</blockquote>
</body>
</html>

Ce afișează browserul

Ana a notat fraza preferată din carte:
    Not all those who wander are lost.
(un cititor de ecran citește fraza cu pronunție englezească)

Exemplul 2: Despărțire automată în silabe

Proprietatea CSS hyphens: auto funcționează doar dacă browserul cunoaște limba textului.

<p lang="ro" style="width: 120px; hyphens: auto;">
  Universitatea Alexandru Ioan Cuza din Iași organizează înscrierile.
</p>

Ce afișează browserul

Universitatea Ale-
xandru Ioan Cuza din
Iași organizează
înscrierile.
(cuvintele lungi sunt despărțite cu cratimă la capăt de rând, după regulile limbii române, unde browserul are dicționar)

Greșeli frecvente

  • Lipsa atributului lang de pe <html>. Cititoarele de ecran folosesc limba implicită a utilizatorului și pot citi textul românesc cu pronunție englezească.
  • Coduri inventate, de exemplu lang="rom" sau lang="romana". Codul corect pentru română este ro.
  • Confuzia dintre limbă și țară: lang="md" nu înseamnă Republica Moldova (md nu este cod de limbă). Pentru româna din Moldova se scrie ro-MD.

Comenzi înrudite

  • Atributul dir: Stabilește direcția textului unui element: de la stânga la dreapta, de la dreapta la stânga sau detectată automat din conținut.
  • Atributul translate: Spune instrumentelor de traducere automată dacă textul unui element trebuie tradus sau lăsat neschimbat.
  • <html>: Elementul rădăcină al oricărui document HTML, care cuprinde tot conținutul și metadatele paginii.
  • <blockquote>: Reprezintă un citat lung dintr-o altă sursă, afișat de obicei indentat sau cu o bară verticală.