2012-08-27 15 views
10

Quiero determinar más de un idioma para un documento, porque está disponible en más de un idioma. Si usodefine varios idiomas en html

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

esto no se W3C válido y el validador dice que debería definirlo en atributo lang de la raíz, pero este atributo sólo admite una langugage:

<html lang="en"> 

obras, pero no

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

Entonces, ¿dónde debería definirlo?

Gracias por su ayuda.

+0

Si un documento está disponible en más de un idioma, básicamente tiene más de un documento disponible. Por lo tanto, cada documento debe tener su propia configuración de idioma. – Arjan

+0

posible duplicado de [¿Qué valor de atributo debo usar para una página de idioma mixto?] (Http://stackoverflow.com/questions/7076837/what-html-lang-attribute-value-should- i-use-for-a-mixed-language-page) –

Respuesta

1

No puede usarlo así.

Deberá utilizar una codificación que abarque todos los caracteres deseados (por ejemplo, UTF-8) que admite todo el rango Unicode), o bien utilizar entidades con nombre o referencias numéricas para incluir caracteres fuera de la codificación en uso.

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

ACTUALIZACIÓN

Si se utiliza HTML5 entonces usted puede utilizar lang para cada elemento. Eso significa que si tiene un div que contiene chino mandarín, simplemente defina un atributo lang = "zh-CN" para ese div, como. (What is the HTML5 alternative to the obsolete meta http-equiv=content-language.)

+1

La primera parte de la respuesta es irrelevante: la pregunta no era sobre codificaciones o representación de caracteres. Y la segunda parte no depende de HTML5. –

1

El significado de la cabecera HTTP Content-Language, y de ahí su sustituto etiqueta meta, es que declara las lenguas del documento, o las lenguas de los destinatarios (los RFC pertinentes se contradicen), no los idiomas de algunos otros documentos (como las traducciones del documento actual). El efecto práctico del encabezado es pequeño, probablemente limitado al uso del primer idioma denominado como el idioma del documento, si no hay información de idioma en el marcado HTML.

para indicar que un documento está disponible en otros idiomas, puede utilizar etiquetas como

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

Ver 12.3.3 Links and search engines dentro de las especificaciones de HTML 4.01.

No hay garantía de que esto tenga algún efecto. Puede afectar los motores de búsqueda, pero no más de lo que haría un enlace normal. Algunas versiones antiguas del navegador tenían comandos para seleccionar versiones alternativas de un documento, basadas en elementos como este, pero la característica parece haberse descartado.

10

todos los atributos admiten sólo 1 idioma por lo que creo que debe definir sólo el 1 idioma, el idioma más importante se debe establecer, esto no puede hacerse si tiene varios idiomas en un solo documento, así que aquí está la información para resolver su problema:

Los atributos lang y xml: lang no le permiten asignar múltiples idiomas a un único documento. Así que si usted está escribiendo una página Web con múltiples idiomas, tiene dos opciones:

  1. definir un lenguaje primario con el atributo lang, y luego llamar a cabo el idioma secundario (s) con los atributos lang en los elementos del documento
  2. Deje fuera el atributo lang, no lo use y defínalo en las diferentes divisiones del documento.

ejemplo para información en idioma elementos:

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

Tengo algunas páginas en varios idiomas y hago uso de la segunda opción ...

Es posible que desee leer http://www.w3.org/TR/2007/NOTE-i18n-html-tech-lang-20070412/#ri20060630.133619987

Cuestiones relacionadas