Qualquer site WordPress · WooCommerce · v0.8.6

Traduzir
uma vez. Servir
a partir de um ficheiro.

O conteúdo é traduzido em segundo plano no momento em que o publica. Os visitantes leem um dicionário compilado num ficheiro — sem API na requisição, sem tradução desencadeada pelo tráfego.

/en/ English /es/ Español /de/ Deutsch /fr/ Français /it/ Italiano /nl/ Nederlands /pt-br/ Português do Brasil /ja/ 日本語 /sv/ Svenska /pl/ Polski
Qualquer site WordPress

Não só
para lojas.

WooCommerce é opcional. Um blog, um site de empresa, um portfólio ou uma loja — se correr em WordPress, é traduzido da mesma forma: em segundo plano, e servido a partir de um ficheiro.

  • Blogs
  • Sites de empresas
  • Portfólios
  • Revistas
  • Páginas de destino
  • Lojas online

Páginas e publicações

Cada página e publicação, com as suas categorias e tags. Publique ou edite e o novo texto é traduzido poucos segundos depois.

  • pt Sobre nós
  • en About us
  • es Sobre nosotros

Menus

O cabeçalho, o rodapé e cada menu criado em Aparência → Menus.

  • pt Início Loja Contactos
  • en Home Shop Contact
  • es Inicio Tienda Contacto

O seu tema

Botões, textos do cabeçalho e rodapé — lidos de uma página de cada modelo, para que as próprias palavras do tema também sejam cobertas.

  • pt Ler mais
  • en Read more
  • es Leer más

SEO

hreflang em cada página e o prefixo da língua mantido no canonical e og:url, para que nenhuma tradução seja perdida como duplicada.

<link rel="canonical" href="https://example.com/en/about/">
<link rel="alternate" hreflang="pt" href="https://example.com/about/">
<link rel="alternate" hreflang="en" href="https://example.com/en/about/">
<link rel="alternate" hreflang="es" href="https://example.com/es/about/">
<meta property="og:url" content="https://example.com/en/about/">

Pesquisa e datas

Um visitante que pesquisa na sua língua encontra resultados, e as datas seguem o formato próprio de cada língua.

  • pt 12 de setembro de 2026
  • en September 12, 2026
  • es 12 de septiembre de 2026

Mapa do Site

Nenhum segundo sitemap para submeter. As páginas traduzidas são adicionadas ao sitemap que o Google já conhece — uma entrada por página e língua, cada uma listando todas as suas versões linguísticas. Sem um plugin SEO, o próprio sitemap do WordPress recebe um sitemap por língua.

<url>
  <loc>https://example.com/en/about/</loc>
  <xhtml:link rel="alternate" hreflang="pt" href="https://example.com/about/"/>
  <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/about/"/>
  <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/about/"/>
</url>

Cache da página

Cada língua é a sua própria URL, armazenada separadamente e purgada após cada tradução.

  • pt /about/ Em cache
  • en /en/about/ Em cache
  • es /es/about/ Em cache
Funciona com

SEO e sitemaps

  • Yoast SEO
  • Rank Math
  • Slim SEO
  • Sitemap do WordPress
Funciona com

Cache da página

  • WP-Optimize
  • LiteSpeed Cache
  • WP Rocket
  • W3 Total Cache
Funciona com

Loja

  • WooCommerce
  • Pacotes de tradução oficiais do WordPress e WooCommerce
A correr WooCommerce? O carrinho, o checkout e os e-mails de pedido também são cobertos
Construído também para lojas

As partes
que outros deixam
em inglês.

O carrinho, o checkout, os avisos — onde uma string não traduzida dói mais, no momento em que alguém está a gastar dinheiro. Coberto de três maneiras diferentes, porque vêm de três locais diferentes.

Carrinho e checkout

Coberto de três maneiras

Os rótulos vêm do pacote humano-revisado do WooCommerce. Os nomes de produtos e categorias vêm do dicionário, através da API da loja. Os nomes de envio e pagamento são coletados diretamente do WooCommerce.

Automático

E assim permanece

O que for publicado ou salvo é traduzido automaticamente. Todo o site é verificado novamente uma vez por semana e após cada atualização de tema ou plugin. Uma tradução revisada nunca é sobrescrita novamente pela máquina.

SEO

O sitemap que o Google conhece

Uma URL por idioma com hreflang alternativas, dentro do sitemap do Yoast SEO, Rank Math ou Slim SEO. O canónico mantém o prefixo da língua, para que nada seja eliminado como duplicado.

Strings

Revisão manual

Cada tradução listada com uma coluna "Onde" para contexto. Corrija uma e ela é sua para sempre. As strings com falha são marcadas e nunca bloqueiam o restante.

Modo de gravação

Captura o que um rastreio não consegue

Um carrinho com itens, um checkout a devolver erros, um cupão inválido. Navega como um admin com ?pht_record=1 e eles são gravados, sem custo para qualquer visitante.

Atualizações

Assinado, da PixelHunter

Novas versões aparecem em Plugins → Plugins Instalados como qualquer outro. Cada pacote é assinado com uma chave ed25519; um pacote trocado é recusado.

Cache da página

Purificado para você

Cada idioma é sua própria URL, portanto, qualquer cache a armazena separadamente. Após uma tradução, as páginas alteradas são purificadas no WP-Optimize, LiteSpeed Cache, WP Rocket e W3 Total Cache. Dois hooks cobrem o restante.

Pesquisar

Funciona em todos os idiomas

Um visitante em inglês em busca de "jacket" encontra "Casaco": o plugin procura o termo fonte. O tema e o motor de busca nunca sabem.

Glossário & tom

As suas palavras, a sua voz

Os nomes de marcas e termos fixos ficam como estão — uma regra por linha. Uma frase ou duas sobre o tom da marca viajam com cada pedido. Qualquer coisa dentro translate="no" ou <address> é deixada de lado.

E-mails de encomenda · WooCommerce

O e-mail chega no idioma do comprador.

Alguém compra em inglês. O WooCommerce dispara "A sua encomenda foi paga" — e o plugin envia em inglês: assunto, cabeçalho, nomes dos produtos, método de envio e pagamento, a data, o texto que escreveu para o rodapé. A encomenda em si é guardada na língua da loja, para que o administrador, as faturas e os relatórios leiam uma única língua.

O que a loja escreveupt-PT · a loja
Subject: A sua encomenda #1042 foi paga
A sua encomenda foi paga

Olá Emma, obrigado pela sua compra. Já estamos a preparar a encomenda.

Vestido midi em linho — Preto, M× 149,00 €
Blusa de seda — Marfim, S× 278,00 €
Total132,00 €
Envio: Taxa fixa · 5,00 €Pagamento: Cartão de crédito12 de setembro de 2026

Loja Mariana · Rua das Flores 12, Lisboa · Responda a este email para falar connosco.

O que o comprador recebeen · o comprador
Subject: Your order #1042 has been paid
Your order has been paid

Hi Emma, thank you for your purchase. We are already preparing your order.

Linen midi dress — Black, M× 149,00 €
Silk blouse — Ivory, S× 278,00 €
Total132,00 €
Shipping: Flat rate · 5,00 €Payment: Credit cardSeptember 12, 2026

Loja Mariana · Rua das Flores 12, Lisboa · Reply to this email to reach us.

Cada e-mail após a compra

Pago, concluído, reembolsado, uma nota da loja — na língua da compra, do assunto ao rodapé.

As suas próprias palavras, traduzidas uma vez

Assunto, cabeçalho, conteúdo adicional e rodapé que escreveu no WooCommerce → E-mails passam pelo dicionário. Revise-os manualmente em Strings.

Etiquetas gratuitas, datas corretas

"Subtotal", "Envio", "Método de pagamento" vêm do pacote revisado por humanos do WooCommerce. A data utiliza o formato da própria língua — sem "9 de setembro de 2026".

A loja lê uma língua

As encomendas são guardadas na língua original com a língua da compra em _pht_lang. E-mails para o administrador permanecem na língua da loja.

Todos os estados de encomenda

Processando Pago Concluído Reembolsado Nota da loja Tudo na língua do comprador E-mails do administrador · língua da loja
O seletor de idiomas

Qualquer canto.
Quatro formas.

Nada para o tema combater. Quatro quilobytes de CSS, apenas nas páginas onde aparece. Três formas são links simples com zero JavaScript. Cores, tamanho, cantos e sombra são definidos com uma visualização ao vivo que avisa abaixo de 4.5:1 — e cada valor é uma variável CSS, permitindo que um tema o reestilize sem !important.

AparênciaGuia de alternância
Caixa#ffffff
Idioma#1a1a1a
Atual#1a1a1a
Pairar#dcdcde
Tamanho do texto14px
Cantos8px
Sombrasuave
Contraste 16.1:1 — passa no WCAG AA. O painel alerta assim que uma cor de texto cai abaixo de 4.5:1.

Onde aparece

Modos
01Automático — flutua no canto que escolher, nada a tocar no tema. Também aparece no carrinho e no checkout, onde um visitante na língua errada precisa de uma forma de voltar.
02Manual — coloque-o você mesmo com [pht_switcher] ou pht_switcher() num template. O flutuante afasta-se nessa página; nunca há dois.
03Desligado — escondido. Nomes ou códigos, com ou sem bandeiras emoji, é uma alternância de qualquer maneira.

Barra de sugestões

Opcional
01Um visitante cujo navegador fala outra língua vê uma pequena barra no topo oferecendo a sua versão.
02Ela sugere, nunca redireciona. Redirecionar pela língua do navegador quebra o cache da página, e o Google aconselha contra isso.
03Aparece uma vez. Escolher ou fechar responde de forma definitiva. Em páginas traduzidas, a oferta do próprio navegador "Traduzir esta página" é silenciada — a deles em cima da nossa lê-se pior.
Como funciona

Uma
separação.

A tradução acontece em segundo plano. O serviço é apenas leitura. É o modelo que o Shopify usa para Traduzir & Adaptar — e o oposto de plugins que traduzem HTML sob demanda e pagam novamente a cada nova página que um visitante abre.

Tempo de tradução

Fundo
01O texto é lido diretamente da base de dados — produtos, categorias, páginas, menus, configurações da loja — além de uma página de cada modelo.
02Apenas o que falta vai para o serviço de tradução PixelHunter, vários lotes de uma só vez. Uma loja inteira leva menos de um minuto.
03O dicionário é compilado para um arquivo PHP dentro de uploads/. Um produto que publica é traduzido alguns segundos depois.

Tempo de serviço

Só leitura
01O prefixo da língua é removido antes de o router do WordPress ser executado — /en/shop/ resolve como /shop/. Sem regras de reescrita.
02O dicionário fica no OPcache. Servir uma página traduzida não custa uma consulta nem uma requisição HTTP.
03O HTML passa pelo núcleo WP_HTML_Processor. Com um dicionário vazio a saída é byte a byte a entrada.
custo = 38 ms + 0.12 ms × substituição linear · medido na página mais pesada de uma loja real · 262 KB · 719 substituições
Configuração

Quatro passos. Um botão.

Não é necessário configurar uma conta API e não há nada a configurar: a API de tradução possui a sua própria chave. Um glossário e um tom de marca são opcionais, nas Configurações.

1 Línguas

Escolha a origem, adicione os destinos

Cada língua de destino recebe o seu próprio prefixo de URL — /en/, /es/. O painel instala os pacotes de tradução do WordPress e WooCommerce em falta com um clique.

2 Licença

Cole o código

Melhor em wp-config.php como PHT_LICENSE_KEY: não na base de dados, não numa exportação, não editável a partir do admin. Uma chave serve todos os sites do seu plano.

3 Painel de controle

Traduzir o site

Um botão lê todo o site e envia o que está em falta, com uma barra de progresso. Feche a página — o restante continua em segundo plano.

4 Strings

Reveja o que importa

Filtrar por estado, pesquisar, corrigir manualmente. A partir daí, tudo o que publicar é traduzido automaticamente.

Preços

Pague pelo texto.
Não pelo tráfego.

Cada visita é grátis — apenas o texto novo ou editado é enviado para ser traduzido. Cada caractere conta uma vez por língua de destino, e caracteres não utilizados acumulam-se enquanto a subscrição estiver ativa. Planos anuais custam dez meses.

Período de faturamento
Moeda
Teste gratuito
Grátis
sem cartão, uma vez
30,000 caracteres, uma vez
1 site
Experimente gratuitamente
Iniciante
$5/mês
cobrado mensalmente
$50/ano
12 meses pelo preço de 10
300,000 caracteres por mês
1 site
3,600,000 caracteres por ano, todos no início
1 site
Subscrever Subscrever
Pro A maioria das lojas
$12/mês
cobrado mensalmente
$120/ano
12 meses pelo preço de 10
1,500,000 caracteres por mês
até 5 sites numa chave
18,000,000 caracteres por ano, todos no início
até 5 sites numa chave
Subscrever Subscrever
Agência
$29/mês
cobrado mensalmente
$290/ano
12 meses pelo preço de 10
6,000,000 caracteres por mês
até 25 sites numa chave
72,000,000 caracteres por ano, todos no início
até 25 sites numa chave
Subscrever Subscrever

Questões sobre impostos, como são contados os caracteres ou mudar de plano? Leia o guia de planos na documentação.

Respostas diretas

O que faz. O que não faz.

01

Preciso de uma conta API?

Não. O plugin apenas comunica com a API de tradução PixelHunter, que possui a sua própria chave — você só precisa da chave de licença.

02

Preciso de WooCommerce?

Não. WooCommerce é opcional: o plugin traduz qualquer site WordPress — páginas, publicações, menus, categorias e os textos do seu tema. Quando há uma loja, o carrinho, o checkout e os e-mails de pedido também são cobertos.

03

As páginas traduzidas estão no meu sitemap?

Sim. Não há um segundo sitemap a ser submetido: as páginas traduzidas são adicionadas ao que você já tem. Com o Yoast SEO, Rank Math ou Slim SEO, cada página recebe uma entrada por idioma, com todas as suas versões como hreflang alternates; sem um plugin SEO, o próprio sitemap do WordPress recebe um sitemap por idioma.

04

Com quais plugins funciona?

Yoast SEO, Rank Math e Slim SEO para canonicals e sitemaps; WP-Optimize, LiteSpeed Cache, WP Rocket e W3 Total Cache para purificação do cache da página; e WooCommerce, com os seus pacotes de tradução oficiais. Qualquer outro cache de página pode ser conectado através de dois hooks.

05

Os slugs de URL são traduzidos?

Não, de propósito. Apenas o prefixo muda: /pt/produto/blusas/ mantém o slug de origem. Cada idioma ainda tem seu próprio endereço, com um canónico que mantém o prefixo e hreflang para cada outra versão, para que o Google veja versões em diferentes idiomas — nunca conteúdo duplicado. E um link nunca quebra quando uma tradução é posteriormente corrigida.

06

Isso desacelera o meu site?

Na língua original, 0 ms. Nas páginas traduzidas, o dicionário é lido do OPcache; um cache de página hospedeira serve cada idioma uma vez por URL por TTL.

07

“Subtotal”, “Prosseguir para checkout”?

Eles vêm do pacote de tradução oficial do WooCommerce — revistos por humanos, sem custo de API. O painel indica quais pacotes estão em falta e instala-os.

08

Os e-mails para a loja mudam?

Não. Os e-mails para o administrador permanecem na língua da loja; apenas os e-mails do cliente são enviados na língua da compra.

09

Requisitos?

WordPress 6.7 ou posterior e PHP 8.1 ou posterior. Sem etapa de construção, sem jQuery, sem dependências em tempo de execução.

10

O que acontece quando os caracteres se esgotam?

As traduções pausam e recomeçam a cada hora. Nada se perde: os textos pendentes aguardam pelo próximo período, e o site continua a disponibilizar tudo o que já foi traduzido. Precisa de mais? Mude de plano em A minha conta: uma nova chave para o novo plano chega por email, e a tradução recomeça assim que é colada nos seus sites.

11

E se eu cancelar?

A chave funciona até ao fim do período pago. Depois disso, o site continua a servir todas as traduções que tem — apenas o novo texto deixa de ser traduzido.

12

A pré-produção conta como um site?

Sim. Traduzir no site em vivo, ou liberar um espaço em A minha conta → Ativações enquanto trabalha no texto. O teste gratuito é uma vez por site e não aceita emails descartáveis.

13

O que não é traduzido?

Slugs de URL, qualquer coisa dentro <script> — incluindo JSON-LD de plugins SEO — e emails dos clientes que não estão ligados a uma encomenda, que saem na língua do store. Cada frase tem uma tradução em todo o site.

Para desenvolvedores

Três funções. Três filtros. Duas ações.

Língua atual
<?php if ( 'en' === pht_current_language() ) : ?>
  <p>Free shipping to the UK.</p>
<?php endif; ?>
Mudador, manualmente
[pht_switcher show_label="no" class="mine"]

<?php pht_switcher( [ 'style' => 'dropdown' ] ); ?>
Qualquer cache de página
add_action( 'pht_purge_urls', function ( $urls ) {
  foreach ( $urls as $url ) my_cache_purge( $url );
} );

Publicar.
Leia em
todas as línguas.

30.000 caracteres, um site, sem cartão. A chave chega por e-mail após a finalização da compra.