Tradução no dispositivo significa que o modelo que converte uma palavra de um idioma para outro roda dentro do seu próprio navegador, na sua própria máquina, de modo que o texto traduzido nunca é transmitido para lugar nenhum. Para extensões de aprendizado de idiomas, isso é novidade. A Translator API embutida do Chrome ficou disponível de forma geral a partir do Chrome 138, e antes disso uma extensão que quisesse traduzir o que você estava lendo tinha, essencialmente, uma única opção: enviar o texto a um servidor e esperar a resposta voltar.
Essa diferença é invisível de fora. Duas extensões podem produzir a mesma palavra destacada na mesma página fazendo coisas completamente diferentes com o seu histórico de leitura. Este artigo explica o que realmente muda, por que vale a pena se importar com isso, e como conferir por conta própria em vez de confiar na palavra de qualquer um.
O que uma extensão precisa fazer para traduzir uma página#
Qualquer extensão que muda quais palavras aparecem em uma página precisa de acesso à página. Não existe um jeito inteligente de contornar isso. Para trocar window por ventana, ela precisa ler o DOM, encontrar os nós de texto, decidir quais tocar, e reescrevê-los. Essa exigência é a mesma para um leitor com tradução no clique, uma ferramenta de legendas, um dicionário pop-up e uma extensão de substituição de palavras. As cinco categorias estão detalhadas em os cinco tipos reais de extensão para aprender idiomas, e todas elas precisam enxergar a página.
Então “esta extensão pode ler as páginas que eu visito” não é um sinal de alerta por si só. É o preço de toda a categoria. A pergunta que importa é a próxima.
Para onde o texto vai depois#
Se o modelo de tradução mora em um servidor, a extensão precisa enviar o seu texto para lá. Na prática, o que chega a esse servidor é mais do que uma palavra. Costuma ser um trecho da frase ao redor, para dar contexto, muitas vezes a URL da página, um timestamp, um endereço IP, e qualquer identificador de conta que ligue a requisição a você. Ao longo de alguns meses de navegação comum, isso se acumula em um registro em texto puro de uma fatia significativa do que você lê e quando lê.
A maior parte da sua leitura é banal, e nada dela é da conta de ninguém, e esse é justamente o problema: é o volume banal que torna legíveis as partes que não são banais. Um histórico de leitura contém buscas de emprego, pesquisas sobre sintomas médicos, dúvidas jurídicas, dificuldades financeiras, conselhos de relacionamento e mensagens escritas pela metade. Ninguém decide entregar isso de bandeja. A pessoa instala uma ferramenta de vocabulário.
Nada disso torna a tradução no servidor ilegítima. O próprio botão de traduzir a página inteira do navegador funcionou assim por anos. Modelos na nuvem suportam muito mais idiomas, rodam em qualquer navegador e qualquer dispositivo, celular incluído, e não dependem do hardware do usuário. Uma equipe pequena sem uma opção de tradução no dispositivo disponível estava tomando uma decisão perfeitamente razoável. O problema nunca foi a escolha, foi o fato de o usuário não ter como ver qual escolha tinha sido feita por ele.
O que “no dispositivo” realmente significa#
No dispositivo significa que a inferência acontece localmente. A extensão pede ao navegador que traduza um texto; o navegador roda um modelo de tradução que já foi baixado para o seu disco; o resultado volta sem precisar de uma viagem de ida e volta pela rede. Uma vez que o pacote de idioma está presente, você pode desligar o Wi-Fi e tudo continua funcionando. Esse é o sinal revelador, e é a única alegação de todo esse assunto que você consegue verificar em uns cinco segundos.
Duas coisas valem a pena separar, porque são confundidas o tempo todo:
- Inferência no dispositivo significa que o texto da página não é transmitido para ser traduzido.
- Sem telemetria significa que a extensão também não transmite mais nada.
Uma extensão pode cumprir a primeira e ainda falhar na segunda. Tradução local somada a um SDK de analytics que reporta toda página em que você a ativou não é privada em nenhum sentido que uma pessoa comum dá à palavra. As duas coisas precisam ser verdadeiras, e são verificadas separadamente.
No dispositivo e no servidor, lado a lado#
| No dispositivo (modelo embutido do navegador) | No servidor (API na nuvem) | |
|---|---|---|
| Para onde vai o texto da página | Fica na sua máquina | Enviado ao provedor, além de quaisquer terceiros que ele use |
| O que um vazamento ou uma intimação judicial poderia expor | Nada sobre o que você lê | Um registro do texto que você leu e de quando leu |
| No primeiro uso | Download único do pacote de idioma | Nada para configurar |
| Latência | Local, sem ida e volta pela rede | Ida e volta pela rede a cada requisição |
| Funciona offline | Sim, depois do download | Não |
| Cobertura de idiomas | Limitada ao que o navegador suporta | Normalmente de 50 a mais de 130 idiomas |
| Suporte de navegador | Chrome e navegadores Chromium no computador, versões recentes | Qualquer navegador, qualquer plataforma |
| Celular | Não disponível | Funciona onde quer que as extensões funcionem |
| Teto de qualidade | Modelo pequeno, ajustado para velocidade e tamanho | Modelos grandes, geralmente mais fortes em textos longos |
| Custo para quem desenvolve | Zero por tradução | Cobrança de API por caractere, por isso existem limites de uso |
A última linha explica mais do comportamento dos produtos do que qualquer outra. Extensões com limites mensais de tradução, listas de espera, ou um plano pago que libera uso “ilimitado” quase sempre têm uma cobrança por caractere por trás. A tradução no dispositivo elimina essa conta, e é por isso que uma ferramenta que traduz localmente pode ser ilimitada e gratuita sem que isso seja suspeito.
Como checar qualquer extensão por conta própria#
Você não precisa confiar em nenhuma alegação de privacidade, nem na deste artigo. O código da extensão chega ao seu computador em uma forma legível, e o navegador te dá as ferramentas para observar ele funcionando. Cinco verificações, mais ou menos em ordem de esforço:
- Leia a lista de permissões antes de instalar. O Chrome deixa isso claro na ficha da loja e de novo no aviso de instalação. “Ler e alterar todos os seus dados em todos os websites” é um acesso amplo e permanente. “Ler e alterar os seus dados em [um site]” é restrito. Uma extensão que usa
activeTabnão mostra nenhum aviso de host na instalação e só ganha acesso quando você clica nela. Uma extensão que pede acesso amplo em tempo de execução, quando você ativa um recurso pela primeira vez, está fazendo a coisa certa: você pode recusar e manter o resto. - Confira a aba de práticas de privacidade na Chrome Web Store. Quem desenvolve precisa declarar quais dados a extensão coleta e certificar como eles são usados. Uma declaração não é prova, mas uma divergência entre a declaração e o texto de marketing é um sinal real, e declarações falsas são uma violação de política com rastro documentado.
- Observe o tráfego de rede. Essa é a verificação decisiva, com uma pegadinha que confunde muita gente. Requisições feitas por um content script geralmente aparecem no próprio painel Network do DevTools da página, mas requisições feitas pelo service worker em segundo plano da extensão não aparecem. Acesse
chrome://extensions, ative o modo de desenvolvedor e clique no link “service worker” sob a extensão para abrir uma janela do DevTools para a extensão propriamente dita. A aba Network dela é onde o tráfego interessante acontece. Para uma captura completa que não deixa nada passar, usechrome://net-exportpara registrar toda a atividade de rede em um arquivo enquanto você reproduz o comportamento, e depois leia o registro no NetLog viewer. - Procure por analytics dentro do pacote. As extensões são instaladas descompactadas na pasta de perfil do seu navegador, e você pode ler os arquivos. Faça um grep por
google-analytics,googletagmanager,mixpanel,segment,amplitude,posthog,sentry. Leia também omanifest.jsone observehost_permissionse qualquer host remoto listado. O código empacotado costuma vir minificado, mas as strings de domínio sobrevivem intactas à minificação. - Desligue a rede. Carregue uma página, desconecte e use o recurso em um texto que ele ainda não viu. Uma tradução genuinamente local continua funcionando. A tradução no servidor falha ou trava. Use um texto novo, porque um resultado em cache passa em um teste que deveria ter reprovado.
| Verificação | Onde fazer | Como se parece uma extensão que traduz localmente |
|---|---|---|
| Permissões | Aviso de instalação, chrome://extensions | Restrita por padrão, acesso amplo só é pedido quando você ativa o recurso |
| Declaração da loja | Aba de práticas de privacidade na ficha | Declara pouca ou nenhuma coleta de dados, coerente com a descrição |
| Tráfego do service worker | chrome://extensions → “service worker” → Network | Tráfego só quando você salva algo ou faz login de propósito |
| Registro completo de rede | chrome://net-export | Nenhuma conversa constante em segundo plano enquanto você lê |
| Conteúdo do pacote | Pasta de extensões do perfil | Nenhum domínio de analytics, nenhum host de tradução de terceiros |
| Teste offline | Modo avião, texto novo | Continua funcionando |
O que a tradução no dispositivo realmente custa#
Ser honesto sobre isso é o ponto principal. A tradução no dispositivo não é estritamente melhor; é uma troca com uma conta real embutida.
Só para computador. O tradutor embutido do Chrome é um recurso de computador, e extensões praticamente não existem no celular de qualquer forma. Se a maior parte da sua leitura acontece no celular, essa abordagem inteira está fora do seu alcance, e um app para celular com tradução no servidor é a melhor ferramenta.
Um piso de versão. Chrome 138 ou mais recente. Quem está em uma versão mais antiga, em uma máquina de trabalho travada, ou em um fork do Chromium que fica atrás da versão original, não recebe nada.
Um download. Na primeira vez que você usa um par de idiomas, o modelo precisa ser baixado. É só uma vez, e depois fica offline para sempre, mas não é instantâneo e ocupa espaço no disco.
Lacunas de cobertura. O navegador suporta uma lista específica de pares de idiomas, e ela é mais curta do que a de qualquer API na nuvem. Quando um par está faltando, ele simplesmente não existe. Não há uma degradação suave, a menos que a extensão recorra a um servidor, e nesse ponto a propriedade de privacidade desaparece para aquele par; uma extensão que fizesse isso em silêncio seria pior do que uma que nunca tivesse feito essa alegação de privacidade.
Um modelo menor. Esses modelos são construídos para serem pequenos e rápidos o bastante para rodar em um navegador. Em palavras isoladas e frases curtas, que é o que uma ferramenta de vocabulário precisa, eles são fortes. Em prosa longa e estilisticamente complexa, um modelo grande na nuvem geralmente se sai melhor.
Uma nota sobre a extensão que popularizou essa ideia#
O Toucan é o motivo de todo mundo saber o que é substituição de palavras na página. Ele trocava um punhado de palavras em qualquer página que você carregasse, sem sessão para iniciar e nada para agendar, e esse design de esforço zero foi uma conquista genuína que muita gente que tinha desistido de todo outro app amava silenciosamente.
Vale saber qual é o estado atual dele, se você está escolhendo uma ferramenta hoje. A empresa encerrou as atividades em 2023, e a Babbel adquiriu a tecnologia em setembro de 2023 sem que ninguém da equipe fosse junto (TechCrunch, 19 de setembro de 2023). Hoje ele roda como “Toucan by Babbel”, gratuito, com o que antes eram recursos pagos incorporados ao plano gratuito. A ficha dele na Chrome Web Store registra 200.000 usuários e foi atualizada pela última vez em julho de 2025, enquanto a própria página inicial ainda afirma mais de 750.000, o que é a indicação mais clara disponível de que a base de instalações caiu bastante. As reclamações recorrentes de quem avalia são consistentes e estruturais: trocas só no nível da palavra, sem suporte a frases, traduções que erram a concordância (um exemplo documentado: "on their primero solo excursion", quando o espanhol exige primera), e só Chrome e Edge.
Sobre a questão da privacidade especificamente, a evidência pública indica que o Toucan rodava um dicionário local em vez de uma API de tradução ao vivo. A equipe abriu o código de aracari, pos-js e finch-graphql, que é exatamente o kit de ferramentas que você constrói se está fazendo substituição de texto e marcação gramatical no navegador. Trate isso como uma inferência forte a partir do que foi publicado, não como uma declaração documentada. É também uma boa ilustração do ponto anterior: um dicionário local compra privacidade e custa gramática, porque um dicionário não tem como saber que o substantivo seguinte é feminino.
Se você quiser a comparação completa do que a substituição passiva oferece e do que ela deixa a desejar, isso está coberto em o artigo sobre alternativas ao Toucan.
Como a extensão do LingoBlend é configurada#
A extensão do LingoBlend mescla páginas usando o tradutor embutido do Chrome no próprio dispositivo, então o texto da página nunca sai da sua máquina. Ela não contém analytics nem telemetria. As únicas coisas que chegam a sair do dispositivo são uma palavra que você escolhe explicitamente salvar e o seu login, e as duas são iniciadas por você.
O resto do design decorre de levar isso a sério, em vez de só alegar isso:
- A mesclagem vem desativada por padrão. Ativá-la dispara o próprio aviso de permissão do Chrome para acesso à página. A instalação em si não pede nada amplo, então você pode instalar primeiro e decidir depois. Também existe um botão “Mesclar esta página” que trata só da aba atual, sem conceder nada permanente.
- Ela fica longe de onde você trabalha. Desativada por padrão no Gmail, Google Docs, Drive, Notion, Slack, GitHub, GitLab, Overleaf, Figma, LinkedIn, WhatsApp Web, Teams, Outlook e Discord. Ela nunca toca no que você está digitando, em campos de formulário ou em blocos de código.
- Copiar devolve as palavras originais. O texto mesclado é colado no idioma de origem, então nada estranho acaba parando em um e-mail.
- Ela confere o idioma da página em vez de confiar na marcação, e se recusa a mesclar uma página que já está no idioma que você está aprendendo.
- Ela pula palavras sobre as quais não tem confiança em vez de arriscar te ensinar uma errada.
Os limites honestos: computador, só Chrome e Edge, sem celular, sem Firefox, sem Safari. Chrome 138 ou mais recente para mesclar, embora salvar palavras com o clique direito funcione em qualquer Chrome recente. Dezesseis dos dezessete idiomas suportados podem ser mesclados; o sérvio não pode, porque o tradutor no dispositivo do Chrome não o suporta, e quem aprende sérvio só tem o salvamento com o clique direito. O primeiro uso baixa um pacote de idioma uma única vez a partir do popup, e depois disso funciona offline. Mesclar é grátis e ilimitado, já que não existe uma cobrança por caractere para repassar. O único recurso Pro é “Forma base”, que mostra a forma de dicionário e uma observação gramatical (escogido → escoger), e o Pro é comprado no app para celular, não na extensão.