Web standards, arquitetura da informação, usabilidade, acessibilidade, tecnologia, filosofia de buteco (sic), e qualquer coisa em uma casca de noz!

Ir direto para o conteúdo

Language Tags

Por: Henrique Pereira

Sunday 26 August 2007 às 16:44

Categoria: Acessibilidade, HTML / CSS / JavaScript

Language tags (também conhecidas como language code) são atributos de XHTML, XML e HTML com o objetivo de indicar a linguagem (idioma) utilizada em um texto/documento ou até mesmo em um trecho de documento. Language tags é um assunto da W3C Internationalization (i18n) Activity, uma força tarefa da W3C específica para assegurar a implementação de tecnologias da web em diferentes linguagens. Existem várias dicas sobre isto entretanto este texto vai tratar especificamente sobre as language tags. Se você pretende trabalhar ou desenvolver aplicações e web sites multilíngua, em mais de um idioma ao mesmo tempo, este texto pode te ajudar.

Language tags, bem como feeds e microformats, enfrentou e/ou enfrentam a mesma situação que nos remete a questão do ovo e da galinha. Quem deve vir primeiro, a implementação por parte dos desenvolvedores ou os dispositivos específicos, implementações, adaptações etc, fabricados pela indústria? Não estou dizendo que language tags seja algo novo, mas é um recurso que ainda não foi explorado em todas as suas possibilidades mesmo que já exista algumas aplicações muito úteis.

Language tags é útil como meta-informação utilizada por mecanismos de buscas ou qualquer outro tipo de usar agent, sistemas de classificação, spelling checkers (corretores ortográficos) sistemas multi-língua, acessibilidade etc. Leitores de tela para deficientes visuais como o Jaws já tem implementado nativamente uma detecção automática de language tags que escolhe um sintetizador de voz adequado para a leitura de um documento.

Não confunda

Antes de mais detalhes é importante ressaltar que language tags não está relacionado com codificação de caracteres (character encodings) que eu já escrevi a respeito aqui em uma série de 5 artigos. Por mais que character encodings também seja um assunto do i18n, encodings trata-se da representação de caracteres usada em um documento e language tags trata-se da meta-informação sobre a linguagem humana (idioma) utilizada em um documento.

Abordagem

Há algumas abordagens diferente para se declarar language tags, entretanto a W3C recomenda uma abordagem simples e fácil de ser implementada. Nada mais é do que declarar atributos específicos na tag HTML (que serve para o documento como um todo) e em trechos específicos quando você compartilha trechos em um idioma diferente.

Boas práticas

Abaixo segue algumas boas práticas simples de serem implementadas e fáceis de serem seguidas. Existem outras além dessas, por isso eu aconselho a leitura deste documento.

Utilize o atributo lang e/ou xml:lang na tag HTML

Trata-se de uma forma simples de declarar qual é o idioma do seu site.

Em HTML:


<html  lang="pt-br">

Em XHTML sendo enviado como text/html:


<html  xml:lang="pt-br" lang="pt-br">

Em XML e XHTML enviado como application/xhtml+xml:


<html xml:lang="pt-br" >

Informe alterações de idiomas em trechos específicos com o atributo lang.

O atributo lang pode ser usado em todos os elementos de HTML com exceção dos elementos applet, base, basefont, br, frame, frameset, iframe, param e script. Se não encontrar um elemento mais apropriado para usar este atributo, você pode utilizar a tag <span>. O objetivo é usá-lo onde você for citar trechos em idioma diferente daquele presente no restante do documento.

Os valores destes atributos, ou seja, as language tags, podem ser consultadas no IANA Language Subtag Registry.

Utilize hreflang com CSS

Trata-se de indicar ao usuário e ao user agent qual o idioma do link que você está referenciando. Como pode ver neste texto, os links que páginas onde o conteúdo é em inglês possui um [en] logo a frente. Veja abaixo como fazer:


<p>There is also a page describing <a href="swedish-doc.html" hreflang="sv">
why a DOCTYPE is useful</a>.</p>

a[hreflang]:after { content: " [" attr(hreflang) "] "; }

Artigos relacionados:

Este texto não pode ser copiado ou reproduzido em nenhum outro site na íntegra sem autorização do autor!. Mais detalhes sobre licença de uso aqui!



Existem 6 comentários para “Language Tags”

# 1° Rodrigo Fante Sunday 26 August 2007 às 20:50GMT

Isso é algo que uso muito no trabalho, fazemos muitos sites multi-línguas e isso é realmente necessário.

# 2° Carlos Eduardo Monday 27 August 2007 às 13:32GMT

Excelente artigo.

Já utilizo há um bom tempo o “xml:lang” na tag HTML, mas ainda tenho que implementar o “hreflang” em meus links… É só questão de costume!

# 3° Eder L. Marques Tuesday 28 August 2007 às 19:01GMT

Henrique,

Obrigado pela dica.

Costumo encontrar muita interessante em seu blog. Parabéns. Está adicionado ao meu leitor de feeds.

P.S – A tirada no slogan do site com o livro do Hawking ganhou pontos. ;)

Abraços,


Eder L. Marques
http://administrando.net/
http://blog.edermarques.net/

# 4° Renan Andrade Wednesday 29 August 2007 às 01:11GMT

Muito legal mesmo esse artigo, parabéns, vou precisar fazer um site multi-língua e não tinha idéia de como começar a inserir o conteúdo, obrigado pelo ponta pé inicial.

# 5° MAQ Saturday 08 September 2007 às 05:00GMT

Parabéns Henrique. Estou ficando fã de seu blog! Fiquei entusiasmado com seu texto, pois são poucas as pessoas, mesmo que fazem acessibilidade, que dão bola para as language tags. Talvez seja interessante explicar para seu público que se colocamos uma marcação com troca de idioma em um texto, nós, pessoas que utilizam leitores de tela, escutaremos sáite e não site, por exemplo. Existe o problema reverso: tem gente que utiliza a language tags erradamente e acabo escutando em sutaque inglês textos em português. Parece um americano há pouco tempo no Brasil lendo um texto para mim! É só o sujeito colocar no elemento html ao invés de lang=”pt-br”, lang=”en” e pronto, tô ferrado! Quando dou cursos de acessibilidade por aí, mostro todos os idiomas possíveis para o Jaws e ponho todo mundo para escutar! Só o último detalhe: você mandou muito bem sobre marcações para mudança de idioma, language tags, só esqueceu de aplicá-las no texto!!! Ainda está a tempo (risos). Amigos como eu você quer ver longe, não?

Abração cego e acessível do MAQ.

# 6° Henrique Costa Pereira Saturday 08 September 2007 às 12:52GMT

MAQ, muito muito obrigado por me mostrar isso agora! Já está corrigido e eu sei que ainda tenho correções a serem feitas em outros textos, aos poucos vou corrigindo.

E é um prazer imenso saber que está ficando fã do meu blog, porque já sou fã do seu site a muito tempo! E agora como amigo!

Grande abraço!

Deixe um comentário

Observação: Todos os campos obrigatórios estão marcados com um asterisco (*).

Informações de Contato

Sobre o Revolução Etc

Henrique Costa Pereira O Revolução Etc é o site pessoal do Henrique C. Pereira que trabalha com design de interfaces, planejamento, arquitetura da informação e desenvolvimento para web. Ele escreve aqui sobre várias coisas relacionadas com acessibilidade, web standards, tecnologia, desenvolvimento e o que mais der na telha, além de eventualmente escrever alguma coisa ou outra para o Webinsider. Leia mais.

Publicidade

  • Banner
  • Banner

Henrique Costa Pereira - Revolução Etc - (CC) Alguns Direitos Reservados - Powered by WordPress

O conteúdo deste site de autoria de Henrique Costa Pereira está sob a licença de Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil. Permissões e/ou restrições além do escopo desta licença podem ser vistas e/ou requeridas na minha página de licença.

Nenhum conteúdo deste site pode ser copiado e reproduzido em outro site sem autorização do autor! Mais detalhes aqui!

Powered by WordPress