O que é o IESP Tradutor
Plugin de tradução automática para WordPress, desenvolvido para o site do IESP-UERJ. Traduz o site inteiro sem custo usando o Google Translate, e permite ativar uma camada opcional, paga e mais precisa (via API) exatamente nas páginas onde isso importa.
“Tradução automática com Widget Google Translate (sem limite de caracteres) como padrão + API opcional por página, com overrides de glossário e segmentos data-iesp-key.”
Como o plugin é organizado: 3 camadas
Todo o funcionamento do plugin pode ser resumido em três camadas que se somam. As duas primeiras estão sempre ativas e não têm custo. A terceira é opcional e ligada página por página.
🌐 Widget Google Translate
Traduz o site inteiro, no navegador do visitante, gratuitamente e sem limite. É o modo ativo em 100% das páginas por padrão.
📖 Glossário & Segmentos
Corrige termos e trechos específicos por cima da tradução automática. Funciona nos dois modos e nunca consome cota.
⚙️ Modo API
Tradução processada no servidor, salva em cache e entregue pronta — habilita SEO real no idioma de destino. Ativada individualmente em cada página.
Onde cada coisa fica
O plugin se divide em duas frentes de configuração, cobertas neste manual:
⚙️ Painel administrativo
Em Ajustes → IESP Tradutor, com 8 abas: Configurações Gerais, Idiomas, Importar Traduções, Glossário, Segmentos, Traduções, API de Tradução e Fila.
✏️ Editor de blocos (Gutenberg)
Ao editar qualquer página ou post: um painel geral do documento (modo widget/API + títulos) e um painel por bloco (chave data-iesp-key + tradução manual rica).
Quando usar cada camada
| Situação | O que usar |
|---|---|
| Site inteiro, uso geral, sem custo | Widget (já é o padrão — nada a fazer) |
| Um termo específico saindo errado (sigla, cargo, nome próprio) | Glossário |
| Um bloco de texto específico (Elementor, título, tabela) precisa de tradução 100% manual | Segmento / data-iesp-key |
| Página estratégica que precisa aparecer no Google em outro idioma | Modo API (por página, no editor) |
| Já existem traduções prontas em outro sistema | Importar Traduções (CSV/Excel) |
Continue para Primeiros Passos para um roteiro de configuração inicial, ou use o menu à esquerda para ir direto a uma aba específica.
Primeiros Passos
Roteiro recomendado para configurar o plugin do zero em um site novo, na ordem que evita retrabalho e desperdício de cota.
-
Habilite o plugin e defina o idioma de origem
Em Configurações Gerais, marque “Habilitar tradução”, confirme o idioma original do site (normalmente
1. Configurações Gerais →pt-br) e selecione quais tipos de conteúdo (páginas, posts, tipos customizados) devem ser traduzidos. -
Ative os idiomas de destino
Em Idiomas, marque quais idiomas ficam visíveis no seletor do site. Um idioma inativo não aparece para visitantes e não recebe nenhuma tradução.
2. Idiomas → -
Importe traduções já existentes (se houver)
Se o site já tinha versões traduzidas em outro sistema, importe-as antes de ativar qualquer coisa que use a API — isso pré-popula o banco sem gastar um caractere de cota.
3. Importar Traduções → -
Cadastre os termos institucionais no Glossário
Siglas (IESP, UERJ), cargos e nomes de programas costumam sair errado na tradução automática. Resolva isso uma vez no Glossário, antes de divulgar o site — a correção vale para o site inteiro.
4. Glossário → -
Publique o seletor de idioma
Cole o shortcode
[iesp_language_switcher]no menu, rodapé ou em uma página. O estilo (dropdown, lista, bandeiras) é definido em Configurações Gerais. -
(Opcional) Ative o modo API nas páginas estratégicas
Para páginas que precisam ranquear em buscadores em outro idioma, abra a página no editor, marque “API configurada” no painel “Tradução IESP” e configure as credenciais na aba API de Tradução.
Ver fluxo completo → -
Acompanhe a Fila e a Cota periodicamente
Se qualquer página estiver em modo API, monitore a aba Fila (processamento) e a aba API de Tradução (consumo de caracteres) para evitar bloqueios inesperados.
7. Fila →
Sem tradução prévia, cada visita a uma página em idioma diferente aciona a API do Google — podendo consumir toda a cota mensal nas primeiras horas. Importar traduções existentes pré-popula o banco de dados sem consumir nenhuma cota.
Configurações Gerais
Aba padrão do plugin (Ajustes → IESP Tradutor). Liga/desliga a tradução, define o idioma de origem, os tipos de conteúdo cobertos e o comportamento geral do seletor de idioma.
No menu do WordPress: Ajustes → IESP Tradutor. Esta é a primeira aba, aberta por padrão.
IESP Tradutor
Plugin
| Habilitar tradução | |
|---|---|
| Idioma original do site |
Código ISO 639-1 simples (ex: pt, en, es) ou com variante regional (ex: pt-br, en-us). Sempre em minúsculas. |
| Tipos de post para traduzir | |
| Traduzir títulos e menus |
|
| Seletores CSS a excluir |
Um seletor por linha. Elementos com essas classes/IDs não serão traduzidos. |
| Tags hreflang (SEO) | |
| Troca de imagens por idioma | |
| Aceitar header Accept-Language |
Prioridade mais baixa que cookie e parâmetro ?lang= |
Seletor de Idioma
| Estilo do seletor | |
|---|---|
| Exibir bandeiras | |
| Shortcode |
[iesp_language_switcher]
Cole em qualquer página, widget de texto ou template para exibir o seletor de idioma. Atributos: style, show_flags, class. |
O que cada campo faz
- Habilitar tradução
Liga/desliga o plugin inteiro. Desmarcado, nenhuma tradução (widget, API, glossário ou segmentos) é aplicada em lugar nenhum do site.
- Idioma original do site
O idioma em que o conteúdo é escrito originalmente. Usado para o plugin saber quando não precisa traduzir (visitante já está no idioma fonte).
- Tipos de post para traduzir
Restringe a tradução a tipos de conteúdo específicos (páginas, posts, tipos customizados do site). Tipos não marcados nunca entram na fila nem recebem o seletor de idioma.
- Traduzir títulos e menus
Controla se o
<title>das páginas e os itens dos menus de navegação também são traduzidos, além do conteúdo. - Seletores CSS a excluir
Lista (um por linha) de classes/IDs que nunca devem ser traduzidos — útil para assinaturas institucionais, códigos, nomes próprios em blocos específicos.
- Tags hreflang (SEO) Só afeta páginas em modo API
Injeta as tags técnicas
<link rel="alternate" hreflang="...">no<head>, sinalizando aos buscadores quais URLs são versões de idioma umas das outras. Só é emitida em páginas no modo API — no modo Widget seria enganosa, já que a página não existe de fato em outro idioma para o crawler. - Troca de imagens por idioma
Substitui automaticamente o sufixo de nome de arquivo das imagens conforme o idioma ativo (ex:
foto-pt.png→foto-en.png). Exige que as versões de cada imagem já estejam enviadas ao servidor com os sufixos configurados; o plugin não gera nem converte imagens, apenas troca os atributossrc/srcsetno HTML. - Aceitar header Accept-Language
Detecção automática do idioma preferido do navegador do visitante. Tem prioridade mais baixa que um cookie de idioma já definido ou o parâmetro
?lang=na URL. - Estilo do seletor / Exibir bandeiras
Define a aparência do seletor de idioma público: dropdown, lista de links, apenas bandeiras, ou bandeiras com texto — usado pelo shortcode abaixo.
- Shortcode
[iesp_language_switcher]Insere o seletor de idioma em qualquer local editável do site (página, widget de texto, template PHP via
do_shortcode()).
Idiomas
Controla quais idiomas ficam disponíveis no seletor do site. Um idioma inativo não aparece para visitantes e não recebe tradução automática nem manual.
IESP Tradutor
Idiomas
Ative os idiomas que deseja oferecer no seletor de idiomas do site. Idiomas inativos não aparecem para os visitantes e não recebem traduções automáticas.
| Bandeira | Código | Nome (PT) | Nome nativo | Ativo | Ordem |
|---|---|---|---|---|---|
| 🇧🇷 | pt-br | Português (Brasil) | Português (Brasil) | ||
| 🇬🇧 | en | Inglês | English | ||
| 🇪🇸 | es | Espanhol | Español | ||
| 🇫🇷 | fr | Francês | Français |
O que cada coluna faz
- Ativo
Determina se o idioma aparece no seletor público. O idioma de origem (pt-br) fica sempre presente como referência e não é desativável nesta tela.
- Ordem
Posição do idioma dentro do seletor de idiomas (dropdown ou lista), do menor para o maior.
- Nome (PT) / Nome nativo
O primeiro é usado nas telas administrativas; o segundo aparece no seletor público (ex: “English”, “Español”).
Desativar um idioma não apaga nenhuma tradução já feita — só o esconde do seletor e impede novas traduções automáticas para ele. Reativar restaura o acesso imediatamente.
Importar Traduções
Permite subir traduções já prontas (de outro sistema, tradutor profissional ou planilha) via CSV/Excel, sem gastar cota de API. Cobre dois formatos: conteúdo completo de posts/páginas, e segmentos por chave.
IESP Tradutor
Por que importar antes de ativar a tradução automática?
Sem tradução prévia, cada visita a uma página em idioma diferente aciona a API do Google — podendo consumir toda a cota mensal nas primeiras horas. Importar traduções existentes pré-popula o banco de dados sem consumir nenhuma cota.
Importar Traduções de Posts e Páginas
Importa traduções de conteúdo completo (título, conteúdo, resumo) para posts e páginas.
| Coluna | Obrigatória | Descrição |
|---|---|---|
post_id | Sim | ID do post no WordPress |
language_code | Sim | Código do idioma (ex: en, es, fr) |
translated_content | Sim | Conteúdo traduzido (pode conter HTML) |
translated_title | Não | Título traduzido |
translated_excerpt | Não | Resumo traduzido |
content_hash | Não | Hash MD5 do original (calculado automaticamente se omitido) |
Formatos aceitos: CSV (.csv) e Excel (.xlsx). CSV deve usar ponto e vírgula (;) como separador — padrão do Excel/LibreOffice em português. Vírgula também é aceita.
| Arquivo | |
|---|---|
Importar Traduções de Segmentos (data-iesp-key)
Para textos inseridos via Elementor ou outros builders, adicione o atributo data-iesp-key="minha-chave" ao elemento e importe as traduções por chave.
<div data-iesp-key="hero-titulo">Texto original</div> <p data-iesp-key="hero-subtitulo">Outro texto</p>
| Coluna | Obrigatória | Descrição |
|---|---|---|
segment_key | Sim | Valor do atributo data-iesp-key |
language_code | Sim | Código do idioma |
translated_text | Sim | Texto traduzido para este segmento |
post_id | Não | Restringir a um post específico (vazio = global) |
original_text | Não | Texto original em português (referência) |
Fluxo de importação
- 1. Baixar template CSV
Cada seção tem seu próprio botão de template, já com as colunas corretas e cabeçalho — evita erro de formatação.
- 2. Preencher no Excel/LibreOffice
Separador de coluna aceito: ponto e vírgula (padrão PT-BR) ou vírgula. Arquivos
.csvou.xlsx. - 3. Dry run
Marque esta opção para validar o arquivo (erros de coluna, IDs inexistentes, etc.) sem gravar nada no banco — recomendado antes de qualquer importação real.
- 4. Importar
Linhas com erro são reportadas individualmente; linhas válidas são importadas mesmo que outras falhem (importação parcial).
Se uma tradutora/revisor já validou manualmente o texto de uma página inteira, importar via CSV é mais rápido do que recriar tudo campo a campo em Segmentos.
Glossário
O principal mecanismo para corrigir termos que a tradução automática erra — de forma permanente, gratuita e válida nos dois modos (Widget e API). É a resposta direta ao retrabalho com vocabulário acadêmico específico.
IESP Tradutor
Glossário de Traduções
Use o glossário para garantir que termos específicos sejam traduzidos exatamente como você deseja — sem consumir cota da API.
Widget do Google Translate (modo padrão do site):
O glossário age depois que o Google já traduziu a página, corrigindo termos que foram traduzidos errado. Por isso, no campo “Termo a substituir” você deve escrever a palavra como o Google a produziu (no idioma de destino), não a palavra em português.
Exemplo prático: o Google traduz “Ministro” para “Minister” em inglês, mas você quer “Secretary”. Nesse caso: Termo a substituir = Minister e Tradução específica = Secretary.
Para nomes próprios e siglas que o Google não altera (ex: IESP, UNESCO, ISO), você pode escrever a própria palavra em português — ela chega ao idioma de destino sem mudança.
Atenção: entradas marcadas como “regex” são completamente ignoradas neste modo.
Modo API (posts marcados individualmente):
O glossário protege o termo antes de enviar o texto ao Google, e insere sua tradução no resultado final. Aqui o campo deve conter a palavra em português. Suporta regex.
| Termo original | Idioma | Tradução específica | Escopo | Regex | Ativo | Ações |
|---|---|---|---|---|---|---|
Minister | en | Secretary | Global | — | ✓ | |
IESP | en | IESP | Global | — | ✓ | |
Mestrado Profissional | en | Professional Master's Program | Tipo de post: page | Sim | ✓ |
Adicionar / Editar Entrada
| Termo a substituir | Widget: palavra como aparece após o Google Translate (idioma alvo). API: palavra em português. Para siglas/nomes próprios, os dois são iguais. |
|---|---|
| Idioma alvo | |
| Tradução específica | |
| Escopo | |
| Valor do escopo | |
| Opções |
Como funciona — a diferença crítica entre os dois modos
Esta é a aba mais relevante para quem sente que a tradução automática “erra sempre os mesmos termos”. O comportamento muda conforme o modo da página:
| Modo Widget (padrão) | Modo API | |
|---|---|---|
| Quando age | Depois que o Google já traduziu, corrigindo o resultado no navegador | Antes de enviar o texto ao Google, protegendo o termo |
| Campo “Termo a substituir” deve conter | A palavra como o Google produziu (idioma de destino) | A palavra em português (idioma original) |
| Suporte a regex | Não — entradas regex são ignoradas | Sim |
O que cada campo faz
- Escopo: Global / Post específico / Tipo de post
Global aplica a correção no site inteiro; Post específico restringe a uma única página (usar o ID); Tipo de post restringe a um tipo de conteúdo (ex: apenas “page”).
- Regex
Permite casar padrões de texto (ex:
\bMinistro\bpara a palavra exata) em vez de correspondência literal. Só tem efeito no modo API. - Ativo
Desativa a entrada sem excluí-la — útil para testar o efeito de remover uma correção temporariamente.
Depois de cadastrado, um termo nunca mais precisa ser corrigido manualmente na página — a substituição vale automaticamente para todo conteúdo novo e existente dentro do escopo definido.
Segmentos (data-iesp-key)
Tradução manual amarrada a um trecho específico de HTML — não a uma palavra isolada como o Glossário, mas a um bloco de texto inteiro (título, parágrafo, elemento do Elementor). Sempre prevalece sobre a tradução automática e nunca consome cota.
IESP Tradutor
Segmentos com Chave (data-iesp-key)
Adicione o atributo data-iesp-key="minha-chave" em qualquer elemento HTML para associar uma tradução manual a ele. Traduções manuais sempre prevalecem sobre a tradução automática da API e nunca consomem cota.
| Chave | Idioma | Post | Tipo | Original | Tradução | Data | Ações |
|---|---|---|---|---|---|---|---|
hero-titulo-home | en | Página Inicial (#12) | Manual | Instituto de Estudos Sociais e Políticos | Institute for Social and Political Studies | há 4 dias | |
rodape-selo | es | Global | API | Centro de referência em Ciência Política | Centro de referencia en Ciencia Política | há 18 dias |
Adicionar / Editar Segmento
| Chave (data-iesp-key) | |
|---|---|
| Idioma | |
| Escopo (ID do post) | Deixe vazio para aplicar a qualquer página que contenha esta chave. |
| Texto original | |
| Tradução |
Glossário × Segmentos — qual usar
| Glossário | Segmentos (data-iesp-key) |
|---|---|
| Corrige uma palavra ou termo curto em qualquer lugar que ele apareça | Define a tradução de um bloco de texto específico, identificado por uma chave única |
| Não exige mexer no HTML/editor | Exige adicionar o atributo data-iesp-key ao elemento (via Elementor “Custom Attributes” ou pelo painel do bloco no Gutenberg) |
| Ideal para: siglas, cargos, nomes próprios, jargão recorrente | Ideal para: títulos de destaque, textos do Elementor, frases inteiras que precisam de tradução literária/context-specific |
Para blocos nativos do WordPress (parágrafo, título, tabela), não é preciso usar esta tela — o campo de chave e a tradução ficam disponíveis diretamente na barra lateral do bloco. Veja Editor de Blocos → Painel do Bloco.
Traduções
Painel de status: mostra quais posts já têm tradução salva em cada idioma (apenas relevante para páginas em modo API), se estão “frescas” ou “obsoletas”, e o que ainda está pendente na fila.
IESP Tradutor
Status das Traduções
Idioma: Status:
Traduções existentes
| Post | Tipo | Idioma | Status | Provedor | Atualizado | Ações |
|---|---|---|---|---|---|---|
| Processo Seletivo Doutorado 2026 #482 | page | en | ✓ Fresco | há 3 dias | ||
| Linha de Pesquisa: Instituições Políticas #356 | page | es | ⚠ Obsoleto | há 41 dias |
Pendentes (sem tradução ainda)
| Post | Tipo | Idioma | Status fila | Tentativas | Ações |
|---|---|---|---|---|---|
| Edital PPGCP 2026 #601 | page | en | pending | 0 |
O que cada status significa
- ✓ Fresco
A tradução salva reflete o conteúdo atual do post. É o que é servido aos visitantes e aos buscadores.
- ⚠ Obsoleto (stale)
O conteúdo original foi editado (ou o glossário global mudou) depois da última tradução. A versão antiga continua sendo exibida normalmente até o reprocessamento — a página nunca fica vazia à espera do WP-Cron.
- Reprocessar
Força esse post/idioma de volta à fila para ser traduzido de novo, ignorando o cache atual.
- Traduzir agora
Para itens ainda sem nenhuma tradução salva: dispara a tradução imediatamente, sem esperar o próximo ciclo do WP-Cron.
Páginas em modo Widget (o padrão) não têm nada salvo no banco — a tradução acontece inteiramente no navegador do visitante a cada visita, então não há “status” a mostrar.
API de Tradução
Credenciais, limites e monitoramento de cota da Google Cloud Translation API — usada apenas nas páginas individualmente marcadas como “Modo API” no editor. Inclui o painel de acompanhamento de consumo mensal.
Estas credenciais só são usadas para páginas marcadas individualmente como “Modo API” no editor do WordPress. A tradução padrão do site continua sendo feita pelo Widget Google Translate — gratuito, sem consumo de API.
IESP Tradutor
★ Monitoramento de Cota
Período atual: 2026-08
187.450 de 500.000 caracteres (37%)
| Limite seguro configurado | 450.000 | ✓ Abaixo do limite |
| Hard stop (emergência) | 490.000 | ✓ Abaixo do limite |
| Free tier Google | 500.000 | ✓ Abaixo do limite |
| Disponíveis até o hard stop | 302.550 chars | |
| Próximo reset | 01/09/2026 | em 26 dias |
Google Cloud Translation API
| API Key | Chave salva: Nunca publicada ou exibida publicamente. Restrinja a chave por IP e serviço no Google Cloud Console. |
|---|---|
| Versão da API | |
| Timeout de conexão (s) | |
| Limite seguro mensal (chars) | Padrão: 450.000 (90% do free tier). Chamadas à API são bloqueadas ao atingir este valor. |
| Hard stop (emergência, chars) | Padrão: 490.000 (98%). Bloqueio absoluto — nunca altere para acima de 490.000. |
APIs de Fallback
| E-mail MyMemory (cota ampliada) | Com e-mail cadastrado: 50.000 chars/dia gratuitos. |
|---|---|
| API Key DeepL Free | Fallback secundário. 500.000 chars/mês gratuitos. |
Processamento em Background
| Intervalo do WP-Cron (min) | |
|---|---|
| Posts por execução | |
| Tentativas máximas | |
| Pausar fila ao esgotar cota | |
| Alertas de cota (%) |
O que cada campo faz
- Limite seguro mensal padrão 450.000
Assim que o consumo do mês atinge este valor, novas chamadas à API são bloqueadas pelo plugin — antes mesmo de chegar ao limite gratuito do Google. É a primeira linha de defesa contra custo inesperado.
- Hard stop nunca acima de 490.000
Bloqueio absoluto de emergência. O free tier do Google Cloud Translation é de exatamente 500.000 caracteres/mês — a margem de segurança evita ultrapassar por poucos caracteres em uma tradução grande.
- Pausar fila ao esgotar cota
Quando ativado, o processamento automático (WP-Cron) para completamente ao atingir o hard stop, e só retoma na virada do mês.
- Alertas de cota (%)
Dispara e-mail para o administrador do site nos percentuais marcados (70/85/95/100%), avisando com antecedência antes de qualquer bloqueio.
- APIs de Fallback (MyMemory / DeepL)
Provedores alternativos usados automaticamente se o Google falhar ou a cota se esgotar, ampliando a margem gratuita disponível.
Se o Google retornar erro 403 (chave inválida/billing) ou 429 (cota excedida no lado do Google), o plugin pausa a fila automaticamente e exibe um aviso vermelho no topo do painel administrativo, em qualquer aba.
Fila
Painel operacional do processamento em segundo plano (WP-Cron) que envia páginas em modo API para tradução. Mostra o que está pendente, em processamento, com falha, ou já concluído.
IESP Tradutor
Fila de Tradução
Próxima execução do cron: em 3 minutos
| Post ID | Título | Idioma | Status | Tentativas | Agendado | Erro |
|---|---|---|---|---|---|---|
| 601 | Edital PPGCP 2026 | en | ● Pendente | 0 | há 2 min | — |
| 598 | Corpo Docente — Atualização | es | ✗ Falha | 3 | há 40 min | HTTP 400 — texto excede... |
| 590 | Notícia: Seminário de Métodos | fr | ↻ Processando | 1 | há 1 min | — |
O que cada status significa
- ● Pendente
Aguardando a próxima execução do WP-Cron.
- ↻ Processando
Sendo traduzido neste exato momento.
- ✗ Falha
Excedeu o número máximo de tentativas (configurado na aba API). O motivo do erro fica visível ao passar o mouse.
- ▮ Cota pausada
Pronto para processar, mas represado porque a cota mensal foi atingida.
- Processar agora
Roda manualmente um lote da fila, sem esperar o próximo agendamento do cron.
- Limpar falhas
Remove da fila todos os itens marcados como “Falha” — use depois de corrigir a causa raiz (ex: chave de API, texto muito longo).
Só entram nesta fila páginas marcadas como “Modo API”. O Widget traduz em tempo real no navegador do visitante e nunca passa por processamento em segundo plano.
Painel do Documento — “Tradução IESP”
Aparece na barra lateral direita do editor (aba “Documento”), ao editar qualquer página, post ou tipo de conteúdo habilitado. Define o modo de tradução daquela página específica e permite sobrescrever o título traduzido por idioma.
O que cada campo faz
- Modo de tradução — Widget gratuito
Opção padrão de toda página nova. Nenhuma configuração adicional necessária; a página é traduzida no navegador do visitante, sem custo.
- Modo de tradução — API configurada
Marca esta página específica para tradução no servidor: entra na Fila, consome caracteres da cota, fica salva em cache e passa a ser indexável pelos buscadores (com hreflang, se habilitado em Configurações Gerais).
- Título traduzido manualmente (por idioma)
Sobrescreve o título usado no
<title>e no cabeçalho da página, independentemente do modo escolhido ou da tradução automática/importada. Vazio = usa a tradução normal.
Esse painel controla exclusivamente a página que está sendo editada. Ligar o modo API aqui não afeta nenhuma outra página do site — cada uma mantém sua própria escolha, feita individualmente.
Painel do Bloco — “Chave IESP (data-iesp-key)”
Disponível ao selecionar um bloco de parágrafo, título ou tabela. Permite dar uma chave ao bloco e escrever, ali mesmo, a tradução manual dele em cada idioma ativo — sem sair do editor e sem tocar na aba Segmentos.
O que cada campo faz
- Chave (data-iesp-key)
Identificador único do bloco. Ao ser preenchido, o atributo
data-iesp-key="..."é gravado no HTML salvo do bloco automaticamente — não é preciso editar código. - Caixa de tradução por idioma
Um editor de texto rico (negrito, itálico, link) por idioma ativo, carregado e salvo via AJAX assim que a chave é preenchida — reflete direto na tabela da aba Segmentos.
- Blocos suportados
core/paragraph,core/headingecore/table. Em tabelas, a tabela inteira recebe uma única chave/tradução (não é possível traduzir célula por célula). - Salvar traduções
Grava todas as caixas preenchidas de uma vez. Um campo deixado em branco remove a tradução manual daquele idioma, voltando a exibir a tradução automática/widget.
Em vez de ir até a aba Segmentos e digitar a chave manualmente, basta selecionar o parágrafo problemático no editor, preencher a chave aqui e escrever a tradução correta direto — sem sair da página.
Ativar a tradução pela primeira vez
Passo a passo operacional para configurar o plugin do zero em um site que nunca usou tradução automática.
-
Ative o plugin
Em Plugins → Plugins Instalados, ative o “IESP Tradutor”. Um aviso azul aparece no topo do admin convidando a configurar — pode ser dispensado a qualquer momento.
-
Configure o básico em Configurações Gerais
Em Ajustes → IESP Tradutor: marque “Habilitar tradução”, confirme o idioma de origem (
Ver aba Configurações Gerais →pt-br) e marque os tipos de conteúdo que devem ser traduzidos (Páginas e Posts, no mínimo). Clique em “Salvar Configurações”. -
Ative os idiomas de destino
Na aba Idiomas, marque a caixa “Ativo” de cada idioma que o site deve oferecer (ex: Inglês, Espanhol) e clique em “Salvar Idiomas”. Idiomas não marcados ficam prontos no sistema, mas invisíveis ao público.
Ver aba Idiomas → -
Se já existir tradução pronta em outro lugar, importe antes de seguir
Traduções vindas de um site antigo, planilha ou tradutor profissional devem entrar via Importar Traduções nesse momento — isso evita que a primeira visita de cada página em outro idioma dispare a API sem necessidade.
Ver fluxo de importação → -
Cadastre os termos institucionais fixos no Glossário
Antes de divulgar o site, resolva de uma vez as siglas e nomes que a tradução automática costuma errar: IESP, UERJ, nomes de programas, cargos. Veja o fluxo dedicado a isso.
Ver fluxo do Glossário → -
Publique o seletor de idioma
Cole
[iesp_language_switcher]no menu principal, no rodapé (widget de texto/HTML) ou em uma página. O visual (dropdown, lista, bandeiras) segue o que foi definido em Configurações Gerais. -
Teste no site, como visitante
Abra o site em uma aba anônima, troque o idioma pelo seletor e navegue pelas páginas principais. Nesse ponto tudo já está sendo traduzido pelo Widget — gratuitamente, sem nenhuma configuração de API necessária.
-
(Opcional) Avalie quais páginas merecem o modo API
Só é necessário se o objetivo for aparecer em buscas feitas em outro idioma (SEO). Não é um passo obrigatório para o site funcionar traduzido.
Ver fluxo do modo API →
Os passos 1 a 7 funcionam inteiramente no modo Widget, sem custo e sem cadastrar nenhuma credencial do Google. A API só entra em cena se e quando o passo 8 for necessário.
Corrigir um termo traduzido errado
O fluxo mais importante para quem sente retrabalho com vocabulário acadêmico específico — cargos, siglas, nomes de programas que a tradução automática erra sempre do mesmo jeito.
-
Confirme em qual modo a página está
Abra a página traduzida no site. Se você não sabe se ela está em modo Widget ou API, verifique no editor da página, painel “Tradução IESP”. A maioria das páginas está no modo Widget (padrão).
Ver Painel do Documento → -
Anote exatamente o texto que saiu errado
No modo Widget, copie a palavra exatamente como o Google a exibiu no idioma de destino (ex: “Minister”). No modo API, use a palavra original em português (ex: “Ministro”).
-
Abra a aba Glossário e preencha uma nova entrada
“Termo a substituir” = o texto anotado no passo anterior. “Tradução específica” = o valor correto que deve aparecer. “Idioma alvo” = o idioma onde o erro ocorre.
Ver aba Glossário → -
Escolha o escopo certo
Use Global se o termo deve ser corrigido em todo o site (o caso mais comum para siglas e cargos). Use Post específico ou Tipo de post apenas se a mesma palavra precisar de traduções diferentes em contextos diferentes.
-
Salve e confira no site
No modo Widget, basta recarregar a página traduzida — a correção aparece imediatamente, sem esperar nenhum processamento. No modo API, a correção também é aplicada na hora, pois o glossário é lido a cada renderização.
Se a página está em modo Widget e a entrada do glossário não parece funcionar, o motivo quase sempre é esse: o campo “Termo a substituir” precisa do texto já traduzido pelo Google, não do texto original em português (a menos que seja uma sigla que o Google não traduz).
Se a correção precisa valer para um trecho inteiro (não só uma palavra), o mecanismo certo é Segmento (data-iesp-key), não o Glossário.
Traduzir manualmente um trecho específico
Para quando o problema não é uma palavra isolada (caso do Glossário), mas um título, parágrafo ou frase inteira que precisa de uma tradução literária, cuidadosamente revisada — comum em textos acadêmicos de destaque.
Caminho A — o trecho está em um bloco nativo do WordPress
Válido para parágrafos, títulos e tabelas criados com o editor de blocos padrão (não Elementor).
-
Abra a página no editor e selecione o bloco
Clique no parágrafo, título ou tabela que precisa da tradução manual.
-
Abra a aba “Bloco” da barra lateral
Localize o painel “Chave IESP (data-iesp-key)” e preencha um identificador curto e descritivo (ex:
Ver Painel do Bloco →hero-subtitulo-home). -
Escreva a tradução em cada idioma
Assim que a chave é preenchida, uma caixa de texto rico aparece para cada idioma ativo. Use os botões de negrito/itálico/link se necessário.
-
Clique em “Salvar traduções” e publique a página
A tradução manual passa a prevalecer sobre a automática imediatamente, nos dois modos (Widget e API).
Caminho B — o trecho está no Elementor (ou outro builder)
-
Adicione o atributo customizado no elemento
No painel de “Custom Attributes” do Elementor, adicione
data-iesp-key|minha-chave(sintaxe do próprio Elementor para atributos customizados). -
Cadastre a tradução na aba Segmentos
Preencha a mesma chave, o idioma, o texto original (opcional, só para referência) e a tradução. Se o trecho for exclusivo de uma página, informe o ID do post; deixe vazio para aplicar a qualquer página que use essa chave.
Ver aba Segmentos → -
Tem muitos trechos assim de uma vez?
Em vez de cadastrar um por um, prepare uma planilha e use a importação de segmentos em massa.
Ver fluxo de importação →
Editar a chave e a tradução direto na barra lateral do bloco é mais rápido e menos sujeito a erro de digitação da chave do que cadastrar manualmente na aba Segmentos.
Ativar o modo API em uma página (SEO)
Use este fluxo para páginas estratégicas que precisam ser encontradas por buscadores em outro idioma — editais, chamadas, páginas institucionais. Tem custo (cota de caracteres) e por isso é ativado individualmente, nunca no site inteiro de uma vez.
-
Configure a credencial da API (uma única vez)
Em API de Tradução, informe a API Key do Google Cloud Translation, confirme a versão da API e revise os limites de cota (padrão: 450.000 caracteres seguros, 490.000 hard stop). Salve.
Ver aba API de Tradução → -
Habilite hreflang, se ainda não estiver
Em Configurações Gerais, confirme que “Injetar tags hreflang no <head>” está marcado — é o que sinaliza ao Google que aquela URL é a versão em outro idioma da página original.
Ver Configurações Gerais → -
Abra a página específica no editor
No painel “Tradução IESP” (barra lateral do documento), selecione “API configurada — tradução servidor, SEO-friendly”.
Ver Painel do Documento → -
(Opcional) Defina um título traduzido manualmente
Preencha o campo de título por idioma se quiser controlar exatamente o que aparece nos resultados de busca, em vez de depender da tradução automática do título.
-
Publique/Atualize a página
A página entra automaticamente na fila de processamento.
-
Acompanhe o processamento
Em Fila, acompanhe o status até aparecer como concluído. Em Traduções, confirme que o status ficou “Fresco”.
Ver aba Fila → -
Valide o resultado
Visite a página traduzida e confira o “ver código-fonte” do navegador — o conteúdo já deve vir em HTML traduzido (diferente do modo Widget, que só traduz visualmente via JavaScript).
Cada página em modo API consome cota a cada tradução/reprocessamento. Reserve esse modo para as páginas onde o ganho de SEO realmente compensa o custo — o restante do site continua perfeitamente funcional no modo Widget, gratuito.
Importar traduções em massa
Para quando já existe uma quantidade grande de conteúdo traduzido (site antigo, tradutor profissional, planilha de revisão acadêmica) e cadastrar item por item na interface seria inviável.
-
Decida o tipo de importação
Conteúdo completo de posts/páginas (título + corpo + resumo) usa o formato Posts e Páginas. Textos avulsos vindos do Elementor ou de blocos com
Ver aba Importar Traduções →data-iesp-keyusam o formato Segmentos. É possível fazer as duas importações, uma depois da outra. -
Baixe o template correto
Cada seção da aba tem seu próprio botão “↓ Baixar template CSV”, já com as colunas certas.
-
Preencha no Excel/LibreOffice/Google Sheets
Respeite as colunas obrigatórias (
post_id/segment_key,language_code, e o texto traduzido). Salve como.csv(separador ponto e vírgula) ou.xlsx. -
Rode primeiro com “Dry run” marcado
Isso valida o arquivo inteiro — IDs inexistentes, colunas faltando, formatação — sem gravar nada. Corrija os erros reportados na planilha e repita até o dry run não acusar problema.
-
Rode a importação de verdade
Desmarque “Dry run” e clique em importar. Linhas com erro continuam sendo reportadas individualmente; as linhas válidas são gravadas mesmo que outras falhem.
-
Confira o resultado
Posts importados aparecem com status “Fresco” em Traduções. Segmentos importados aparecem na tabela da aba Segmentos, já com a badge “Manual”.
Ver aba Traduções →
Todo o conteúdo importado por CSV entra direto no banco de dados do plugin — nenhum caractere é enviado à API do Google nesse processo, mesmo para páginas marcadas em modo API.
Acompanhar a cota da API
Relevante apenas se uma ou mais páginas estiverem em modo API. O modo Widget (padrão do site) nunca consome cota, então este fluxo não se aplica a ele.
-
Abra a aba API de Tradução
O painel “★ Monitoramento de Cota” no topo mostra o consumo do período atual: caracteres usados, percentual, e a barra colorida (verde/amarelo/vermelho conforme a proximidade do limite).
Ver aba API de Tradução → -
Entenda os três números
Limite seguro (padrão 450.000): bloqueia novas chamadas ao ser atingido, como primeira proteção. Hard stop (padrão 490.000): bloqueio absoluto de emergência. Free tier do Google (500.000): o teto real acima do qual o Google passaria a cobrar.
-
Configure os alertas por e-mail
Marque os percentuais desejados (70/85/95/100%) para receber um aviso no e-mail do administrador antes de qualquer bloqueio acontecer.
-
Se a fila pausar por cota esgotada
Um aviso vermelho aparece em todas as abas do admin. As opções são: aguardar a virada do mês (reset automático), revisar se alguma página não deveria estar em modo API, ou configurar um provedor de fallback (MyMemory ou DeepL Free) na própria aba API.
-
Consulte o histórico mensal
A tabela “Histórico Mensal”, logo abaixo do painel principal, ajuda a perceber se o consumo está subindo mês a mês — sinal de que mais páginas estão migrando para o modo API.
O free tier do Google é de exatamente 500.000 caracteres/mês. Uma margem de segurança evita que uma única tradução grande ultrapasse o limite gratuito por conta de arredondamento entre o momento da checagem e o envio real à API.