Etiquetado de texto sin idioma

Este artículo ofrece consejos sobre cómo utilizar el marcado de idioma en HTML o XML cuando no se conoce el idioma del contenido, o cuando el contenido no es lingüístico.

En HTML siempre se debe identificar el lenguaje humano del texto, cuando se conoce, utilizando el atributo lang para que las aplicaciones como los navegadores de voz, hojas de estilo y similares puedan procesar el texto de forma adecuada. Lo mismo ocurre con los formatos basados en XML, donde se utiliza el atributo xml:lang.

Sin embargo, suponga que tiene algún texto que no está en ningún idioma, muestras de tipos, números de parte, ilustraciones de datos binarios, etc. ¿Cómo diría que esto no se escribió en ningún idioma en particular? o ¿Qué sucede cuando se extrae el texto de una base de datos y no viene con información lingüística?

Para obtener información acerca de cómo establecer el idioma en HTML, consulte Cómo declarar el idioma en HTML..

Cuando el texto no es lingüístico

Utilice la subetiqueta zxx cuando sepa que el texto no está en ningún idioma.

Esto se aplicaría a textos tales como muestras de tipos, números de pieza, ilustraciones de datos binarios, etc. La definición de zxx en el Registro de Subetiquetas de Idiomas de IANA es `ningún contenido lingüístico'.

Por ejemplo:

<p>Aquí una lista de números de parte: <span lang="zxx">9RUI34 8XOS12 3TYY85</span>.</p>

Cuando el idioma es indeterminado

En HTML, use lang="". Si está usando XML y el formato que está usando lo soporta, use xml:lang="", de lo contrario use xml:lang="und".

Estos valores indican que no podemos determinar, por una razón u otra, cuál es la información lingüística correcta, o si el texto no es lingüístico. Por ejemplo, puede utilizar un valor vacío para el atributo de idioma si el texto de la base de datos se incluye en un documento pero la base de datos no proporciona información sobre el idioma y no puede estar razonablemente seguro de cuál es el idioma. El efecto sería impedir que cualquier información lingüística declarada más arriba en la jerarquía de elementos del documento se aplique al texto incluido.

Sin embargo, sólo debe etiquetar el texto como indeterminado si no puede dejarlo tal cual. En la práctica, esto significa que sólo debe utilizar esta marca de revisión si el texto indeterminado está incrustado en contenido que ya ha sido etiquetado para el idioma de alguna manera, o si su uso a nivel de documento es requerido por el formato que está utilizando.

Temas avanzados

Implicaciones para XHTML 1.0

Las páginas heredadas que usan XHTML 1.0, y que no pueden ser actualizadas a HTML5 o XHTML5, deben usar xml:lang="und" si hay una necesidad de expresar la naturaleza indefinida de algún texto incrustado en un documento, porque xml:lang="" no está permitido. En las raras ocasiones en que todo el documento está en un idioma no definido, es mejor no declarar el idioma por defecto del documento.

Consideraciones sobre el esquema XML

xml:lang="" sólo funciona si el esquema que describe el formato de su documento permite una cadena vacía como un valor de xml:lang. Por ejemplo, debido a que los DTDs de XHTML 1.0 definen xml:lang de tal manera que un valor de cadena vacío para el atributo xml:lang no está permitido, no se puede usar la cadena vacía en XHTML 1.0.

Para aquellos que están al tanto de cómo funcionan los DTDs y otros esquemas: El atributo xml:lang toma valores NMTOKEN en el esquema XML, por lo que no pueden estar vacíos. En su DTD XML, si es posible, declare xml:lang como CDATA para que se permita un valor vacío. Para los usuarios de esquemas XML, confíe en el documento de esquema XML para el espacio de nombres XML.

Martin Dürst señala que se puede redefinir el formato XHTML dentro del documento para crear una página XHTML que valide utilizando lang="" o xml:lang="".Sin embargo, no se recomienda su uso generalizado, ya que dicho documento ya no es estrictamente conforme en el sentido de XHTML 1.0.

Por cierto

Este es un resumen de una discusión en una cadena en www-international@w3.org, y una posterior interpretación de aquellas ideas a las que varias personas contribuyeron.