2012-08-27 25 views
10

Voglio determinare più di una lingua per un documento, perché è disponibile in più di una lingua. Se io usodefinire più lingue in html

<meta http-equiv="content-language" content="en,de,fr" /> 

questo non è W3C valido e il validatore dice che dovrei definirlo in lang della radice, ma questo attributo supporta solo una langugage:

<html lang="en"> 

opere, ma non

<html lang="de,en,fr"> 

Quindi dove dovrei definirlo?

Grazie per il vostro aiuto.

+0

Se un documento è disponibile in più di una lingua, in pratica hai più di un documento disponibile. Quindi ogni documento dovrebbe avere la propria impostazione della lingua. – Arjan

+0

possibile duplicato del valore dell'attributo [What dovrei usare per una pagina di lingua mista?] (Http://stackoverflow.com/questions/7076837/what-html-lang-attribute-value-should- i-use-for-a-mixed-language-page) –

risposta

1

Non è possibile utilizzarlo in questo modo.

È necessario utilizzare una codifica che includa tutti i caratteri desiderati (ad esempio UTF-8) che supporta l'intero intervallo Unicode), oppure utilizzare entità denominate o riferimenti numerici per includere caratteri esterni alla codifica in uso.

http://bytes.com/topic/html-css/answers/154652-multiple-languages-one-document

UPDATE

Se si utilizza HTML5 quindi è possibile utilizzare lang per ogni 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. (What is the HTML5 alternative to the obsolete meta http-equiv=content-language.)

+1

La prima parte della risposta è irrilevante: la domanda non riguardava le codifiche o la rappresentazione dei caratteri. E la seconda parte non dipende da HTML5. –

1

Il significato dell'intestazione HTTP Content-Language, e quindi la sua meta tag surrogata, è che dichiara le lingue del documento, o le lingue del destinatari (le RFC rilevanti sono in contraddizione), non le lingue di alcuni altri documenti (come le traduzioni del documento attuale). L'effetto pratico dell'intestazione è piccolo, probabilmente limitato all'utilizzo della prima lingua denominata come lingua del documento, se non ci sono informazioni sulla lingua nel codice HTML.

per indicare che un documento è disponibile in altre lingue, è possibile utilizzare i tag come

<link rel="alternate" hreflang="de" href="foobar.de.html"> 

Vedi 12.3.3 Links and search engines in HTML 4.01 spec.

Non è garantito che ciò abbia alcun effetto. Potrebbe influire sui motori di ricerca, ma non più di quanto farebbe un normale link. Alcune vecchie versioni del browser avevano comandi per selezionare versioni alternative di un documento, basate su elementi come questo, ma la funzione sembra essere stata abbandonata.

10

tutti atributes supportano solo 1 lingua così Credo che si dovrebbe definire solo 1 lingua, la lingua più importante dovrebbe essere impostato, questo non può essere fatto se hai più lingue su un singolo documento, quindi ecco le informazioni per risolvere il tuo problema:

Gli attributi lang e xml: lang non ti consentono di assegnare più lingue a un singolo documento. Quindi, se si sta scrivendo una pagina Web con più lingue sono disponibili due opzioni:

  1. definire una lingua primaria con l'attributo lang, e quindi chiamare la lingua secondaria (s) con gli attributi lang su elementi del documento
  2. Lasciare fuori l'attributo lang, non usarli e definirlo nelle varie divisioni del documento.

esempio per informazioni in lingua elementi:

<div lang="fr-CA" xml:lang="fr-CA"> 
    Canadian French content... 
    </div> 
    <div lang="en-CA" xml:lang="en-CA"> 
    Canadian English content... 
    </div> 
    <div lang="nl-NL" xml:lang="nl-NL"> 
    Netherlands, Dutch content... 
    </div> 

Ho alcune pagine in più lingue e faccio utilizzare l'opzione di 2 ° ...

Si potrebbe desiderare di leggere http://www.w3.org/TR/2007/NOTE-i18n-html-tech-lang-20070412/#ri20060630.133619987

Problemi correlati