Resumo
- LANGUAGE muda textos legíveis e pode oferecer uma tradução visual do prefixo NAMESPACE, mas essa tradução não cria um novo nome canônico para a caixa.
- O comparador ativo participa do significado de SEARCH, SORT e THREAD; a lista só é reproduzível quando decodificação, conversão, comparador, fallback e geração de segurança permanecem registrados.
Internacionalizar não é conceder uma autoridade única
Uma tela de preferências costuma oferecer uma só escolha de idioma. O desenho sugere que menus, nomes de pastas e pesquisa passarão a obedecer à mesma regra. O RFC 5255 divide o problema de outro modo.
LANGUAGE escolhe a forma de mensagens humanas emitidas pelo servidor e pode incluir traduções de prefixos NAMESPACE. I18NLEVEL define comparadores que afetam busca, ordenação e formação de threads. São extensões anunciadas separadamente porque apresentação e correspondência não são o mesmo controle.
Um registro que guarda apenas “pt-BR” não explica uma diferença posterior. Pode ter mudado somente o texto de erro, o rótulo de um prefixo, a regra de equivalência entre caracteres ou o caminho de fallback usado quando a conversão falhou.
A tradução do prefixo continua subordinada ao nome canônico
LANGUAGE possui alcance estreito. Ele altera strings fixas do servidor. O próprio RFC 5255 exclui a criação de aliases localizados para caixas compartilhadas, que dependeria de outro mecanismo.
A extensão TRANSLATION da resposta NAMESPACE entrega uma representação local do prefixo. O cliente converte entre o prefixo real e essa apresentação ao montar a interface. O mapeamento precisa sobreviver nos dois sentidos.
Se a tradução for persistida como identidade, a troca de idioma pode parecer criação, exclusão ou movimentação de caixa. Favoritos, caches, telas de ACL, rotinas de migração e auditorias podem herdar o erro. A prova correta une prefixo canônico, tradução, tag de idioma, servidor e geração de sessão.
O formato da resposta também delimita autoridade. Uma tag única anuncia a nova língua ativa. Várias tags enumeram opções e não mudam o estado. Uma solicitação recusada mantém a língua anterior. O clique do usuário é intenção; a resposta do servidor é a transição.
Até default é uma política, não uma identidade. Ele pede a preferência do administrador, que pode variar segundo o usuário ativo. Não descreve uma característica permanente da conta ou da pessoa.
Uma camada segura exige uma nova seleção
O comando LANGUAGE é permitido antes da autenticação para que avisos de senha, segurança e login sejam compreensíveis. Essa utilidade também expõe a negociação inicial a um canal ainda não protegido.
Um atacante ativo pode suprimir ou alterar o pedido e tornar mensagens de STARTTLS ou autenticação mais difíceis de interpretar. Depois de ativar TLS ou uma camada de segurança SASL, o cliente deve reenviar LANGUAGE.
O segundo envio inaugura outra geração de autoridade. A telemetria precisa distinguir a seleção anterior à proteção da confirmação feita dentro do canal seguro, registrar a resposta e marcar o primeiro texto governado por ela.
Isso não transforma prosa em autenticação. LANGUAGE não valida credenciais, servidor ou autorização. O código estruturado do protocolo, a explicação humana e a proteção do transporte continuam sendo evidências diferentes.
O comparador executa parte da política da consulta
O comparador padrão vale quando não houve outra seleção. O ativo vale para a sessão. I18NLEVEL=1 exige i;unicode-casemap; I18NLEVEL=2 permite consultar e trocar a regra com COMPARATOR.
A regra ativa se aplica a campos definidos de SEARCH, como assunto, corpo, remetente, destinatário e cabeçalhos. Também participa de chaves de SORT e de comparações de assunto em THREAD. Não modifica globalmente as strings armazenadas.
Após autenticação, o padrão do servidor deve permanecer estático durante a conexão. Isso estabiliza a semântica implícita. Uma ordem COMPARATOR explícita ainda pode mudar o ativo, por isso pedido e resposta devem acompanhar o resultado.
Cada comando requer operações específicas. SEARCH precisa de substring. SORT precisa de ordem e igualdade. Um comparador que não oferece a operação necessária deve provocar falha, não uma aproximação silenciosa.
O texto já foi transformado quando chega à comparação
Antes de comparar, o servidor remove codificações MIME e converte o texto para o charset esperado. Remoção e conversão podem falhar; a entrada pode ser inválida; o comparador pode devolver resultado indefinido.
Em buscas por substring, falha de conversão leva ao uso de i;octet sobre a representação decodificada, e certos resultados indefinidos fazem o mesmo. Na ordenação, strings convertidas e válidas usam o comparador ativo. As inválidas ficam num grupo separado, ordenado por i;octet e colocado depois.
Uma lista visualmente contínua pode ter sido montada por duas regras. Uma correspondência pode ser igualdade de bytes, não equivalência linguística. Itens no fim podem denunciar falha de conversão, e não baixa relevância.
O recibo precisa incluir geração do corpus, campo, charset, remoção MIME, conversão, validação, comparador solicitado e selecionado, operação, fallback, membros e ordem exatos. A frase digitada na caixa de busca é apenas o começo.
Um corpus estável pode produzir uma resposta nova
Servidores diferentes podem suportar charsets e comparadores diferentes. Uma atualização pode trocar bibliotecas Unicode ou MIME. O RFC também deixa certos erros sob decisão da implementação. Assim, o conteúdo pode permanecer igual enquanto a lista muda.
Isso exige versão, não desconfiança genérica. “A mensagem sumiu da busca” deve ser decomposta em ausência, campo fora do escopo, decodificação defeituosa, conversão impossível, comparador indisponível, resultado indefinido ou fallback inesperado.
O registro IANA ainda relaciona LANGUAGE, I18NLEVEL=1 e I18NLEVEL=2 ao RFC 5255. Ele prova nomes e referências, não adoção, conformidade ou igualdade entre versões instaladas.
O RFC 6855 acrescentou UTF-8 a nomes de usuário, endereços, cabeçalhos e manejo de nomes de caixa; o RFC 9051 substituiu a base IMAP4rev1. Essa evolução confirma que localizar mensagens fixas não internacionalizava automaticamente todos os identificadores.
Pelas camadas de realidade de Lu Heng, a apresentação traduzida, o nome canônico, o resultado e o canal seguro são fatos em superfícies distintas. A confiabilidade depende de retornar da apresentação ao nome e do resultado à geração de comparação que o produziu.
Fontes
- RFC 5255: internacionalização do IMAP
- Registro do RFC 5255 no RFC Editor
- Registro do RFC 5255 no IETF Datatracker
- RFC 3501: IMAP4rev1
- RFC 2342: NAMESPACE do IMAP4
- RFC 4790: registro de collations
- RFC 5051: i;unicode-casemap
- RFC 4647: correspondência de tags de idioma
- RFC 3629: UTF-8
- RFC 2047: texto não ASCII em cabeçalhos
- RFC 2045: MIME, primeira parte
- RFC 5256: SORT e THREAD no IMAP
- RFC 6855: suporte UTF-8 no IMAP
- RFC 9051: IMAP4rev2
- RFC 6530: estrutura do e-mail internacionalizado
- Registro IANA de capacidades IMAP
- Lu Heng: primazia do código em execução
- Lu Heng: camadas de realidade
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
