Resumo

  • O RFC 3066 padronizou uma gramática sem distinção de caixa, registro público e um intervalo de idiomas por prefixo, deixando cada aplicação definir o que a etiqueta afirmava sobre o objeto.
  • O texto advertiu que prefixos comuns não garantiam inteligibilidade mútua. A correspondência era resultado de seleção, não prova de rotulagem correta, boa apresentação ou compreensão.

Uma pequena etiqueta para um grande fato humano

A Internet não precisava de uma teoria universal da linguagem para transportar informação multilíngue. Precisava de um identificador que correio, HTTP, marcação, bibliotecas e síntese de voz pudessem compartilhar sem vocabulários privados.

Publicado como BCP 47 e substituindo o RFC 1766, o RFC 3066 forneceu esse mínimo. A etiqueta tinha um subtag primário e outros opcionais separados por hífen. A comparação ignorava maiúsculas. Valores primários de duas letras vinham da ISO 639; os de três, da ISO 639-2. i reservava a ramificação registrada pela IANA e x a privada. Um segundo subtag de duas letras podia indicar uma área ISO 3166.

A gramática coordenava grafia, não criava um dono único da verdade linguística. Órgãos ISO atribuíam códigos; a IANA administrava o espaço e registros; o protocolo definia a relação com o objeto. O remetente escolhia a etiqueta, o aplicativo agia sobre ela e o leitor vivia o resultado.

O contexto possuía o significado da afirmação

O RFC não impôs um sentido único a “este objeto tem idioma X”. Em um documento, tags podiam indicar idiomas necessários à compreensão completa. Numa coleção, listavam idiomas de componentes. Num conjunto de alternativas, eram pistas para examinar cada versão. Em HTML ou XML, uma etiqueta podia marcar só um trecho e ajudar dicionário ou sintetizador de voz.

Os caracteres eram iguais; a afirmação não. Um campo language pode descrever o texto, a preferência, a interface, as versões disponíveis ou a saída solicitada. Mesmo com valor pt, são fatos distintos.

A precisão devia ser usada apenas quando conhecida e útil. Havendo código ISO 639-1 de duas letras, ele prevalecia sobre o de três. Se o protocolo não exigisse valor, omitir era melhor que preencher com und. Se aceitasse várias etiquetas, conservá-las era melhor que achatá-las em mul. Desconhecido e múltiplo eram estados a preservar.

O prefixo era filtro, não árvore de parentesco

A novidade importante frente ao RFC 1766 foi language-range. Um intervalo correspondia a uma etiqueta idêntica ou a um prefixo encerrado numa fronteira de hífen. * podia corresponder a qualquer etiqueta, com semântica adicional definida pelo protocolo. Assim, uma preferência ampla encontrava variantes mais específicas.

O RFC limitou imediatamente a inferência: idiomas com a mesma sequência inicial não são necessariamente compreensíveis entre si. A hierarquia de caracteres não comprova uma hierarquia de compreensão humana.

O RFC 4647 chamou depois esse algoritmo de Filtragem Básica e o separou de Filtragem Estendida e Busca. Um filtro devolve conjunto; a busca escolhe uma etiqueta. Nenhum pergunta ao leitor. O êxito só informa que strings declaradas satisfizeram algoritmo e prioridade. Não prova alfabetização, dialeto, escrita, acessibilidade, qualidade da tradução ou rótulo correto.

Uma cadeia auditável separa preferência divulgada, etiquetas candidatas, algoritmo e versão, objeto escolhido, idioma real, renderização, correção do usuário e resultado da tarefa. Resumir tudo em language_match=true entrega à comparação textual uma autoridade que ela nunca recebeu.

O registro guardava memória, não compreensão

Tags fora das regras generativas passavam por revisão pública. O solicitante apresentava descrição e referência; a lista aberta discutia por duas semanas; um revisor encaminhava ou recusava. Registros não eram apagados. Se um valor ficasse obsoleto, ganhava nota de depreciação e substituto.

Isso preservava memória institucional e permitia interpretar dados antigos. Não certificava todo objeto portador da etiqueta. O registro respondia “qual identificador coordenamos?”, não “este texto realmente está nesse idioma?”.

A ramificação x- deixava a fronteira mais clara. Partes privadas podiam concordar com um significado, mas a IANA não registrava o restante e a Internet pública não tinha obrigação de entendê-lo.

O RFC 4646 trocou em 2006 o registro de tags inteiras por um Registro de Subtags estruturado, explicitando idioma, escrita, região e variante e reforçando estabilidade. O RFC 5646 refinou a arquitetura e compõe o BCP 47 atual com o RFC 4647. A IANA mantém o registro antigo fechado e obsoleto. Melhor estrutura facilita análise e memória; não transforma etiqueta em observação da compreensão.

A preferência também expunha a pessoa

O RFC 3066 registrou um risco que o RFC 1766 descartara: intervalos de idioma enviados na negociação poderiam servir para inferir nacionalidade e selecionar alvos de vigilância. Não disse que idioma equivale a nacionalidade; alertou que observadores poderiam cometer essa inferência.

Uma preferência revelada para melhorar o serviço virava sinal reutilizável. O seletor precisava apenas do suficiente para escolher uma representação; logs, correlação e retenção podiam dar outro uso ao dado. É preciso limitar a divulgação, não deduzir identidade e separar o recibo necessário à escolha de perfis construídos para outros fins.

Fontes