2011-11-14 8 views
33

Kończę stronę HTML5, która ma mieszankę języka angielskiego i chińskiego mandaryńskiego.Co to jest alternatywa HTML5 do przestarzałego meta http-equiv = content-language.

Moja walidator (HTML5 Validator dodatek do FF) daje mi ten błąd:

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" /> 

odpowiedni kod jest:

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

sprawdzanie W3.org prowadzi mnie do tej strony: telling me that yes, it's obsolete

Muszę wyznać, że nie rozumiem, w jaki sposób mam wprowadzić ten kodeks w życie?

Nie wiem, co to jest "określanie języka na głównym elemencie" oznacza, lub jak to zrobić?

Na pewno <html lang="en"> nie wystarcza dla UTF-8?

+7

myślę szukasz w niewłaściwej linii. Metatag, do którego odnosisz się w linku, to "content-language", ale ten, który tu podałeś, to "content-type". –

+0

derp, dzięki. to było to. – Drew

Odpowiedz

40

W HTML5 można rzeczywiście zdefiniować lang dla każdego elementu. Oznacza to, że jeśli masz w sobie język chiński w języku mandaryńskim, po prostu zdefiniuj atrybut lang="zh-CN" dla tego elementu div, na przykład <div lang="zh-CN">.

+0

czy mogę zdefiniować zarówno dla treści mieszanych? – Drew

+2

@Andrew - Nie, nie możesz. Atrybut lang ma tylko jeden kod języka. – Alohci

+7

@Andrew: musisz wybrać podstawowy (najczęściej używany) język strony i wskazać, że poprzez atrybut 'lang' na elemencie' ', zawiń dowolną treść w innym języku w elemencie z atrybutem 'lang' wskazującym język. –

6

Poniżej ustawień językowych i charset

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