2011-11-14 6 views
33

Sto terminando un sito HTML5 con una mescolanza di inglese e cinese mandarino.Qual è l'alternativa HTML5 al meta obsoleto http-equiv = content-language.

mio validatore (HTML5 Validator add-on per FF) è mi dà questo errore:

error: Using the “meta” element to specify the document-wide default 
language is obsolete. Consider specifying the language on the root 
element instead. 

At line 6, column 9: <meta http-equiv="Content-Language" content="en-us" /> 

il codice rilevante è:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 

controllo W3.org mi porta a questa pagina: telling me that yes, it's obsolete

Devo confessare che non capisco come dovrei rendere conforme questo codice?

Non so cosa "specificare la lingua sull'elemento principale" significa, o come farlo?

Sicuramente <html lang="en"> non è sufficiente per UTF-8?

+7

Penso che si sta guardando la linea sbagliata. Il meta-tag a cui fai riferimento nel link è "content-language", ma quello che hai elencato qui è "content-type". –

+0

derp, grazie. era così. – Drew

risposta

40

In HTML5 è possibile definire effettivamente lang per ciascun elemento. Ciò significa che se hai un div che contiene cinese mandarino in esso, basta definire un attributo lang="zh-CN" per quel div, come <div lang="zh-CN">.

+0

posso definire entrambi per i contenuti misti? – Drew

+2

@Andrew - No, non puoi. L'attributo lang accetta sempre un solo codice lingua. – Alohci

+7

@Andrew: si intende scegliere la lingua primaria (cioè più comunemente usata) per la pagina, e indicare che tramite l'attributo 'lang' sull'elemento' ', quindi avvolgere qualsiasi contenuto in una lingua diversa in un elemento con un attributo 'lang' che indica la lingua. –

6

Vedi sotto per le impostazioni di lingua e charset

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<title>title</title> 
.....