Cualquier sitio de WordPress · WooCommerce · v0.8.6

Traducir
una vez. Servir
desde un archivo.

El contenido se traduce en segundo plano en el momento en que lo publicas. Los visitantes leen un diccionario compilado en un archivo — sin API en la solicitud, sin traducción activada por tráfico.

/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
Cualquier sitio de WordPress

No solo
para tiendas.

WooCommerce es opcional. Un blog, un sitio de empresa, un portafolio o una tienda — si funciona en WordPress, se traduce de la misma manera: en segundo plano, y servido desde un archivo.

  • Blogs
  • Sitios de empresas
  • Portafolios
  • Revistas
  • Páginas de aterrizaje
  • Tiendas en línea

Páginas y publicaciones

Cada página y publicación, con sus categorías y etiquetas. Publica o edita y el nuevo texto se traduce unos segundos después.

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

Menús

El encabezado, el pie de página y cada menú creado en Apariencia → Menús.

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

Tu tema

Botones, textos del encabezado y pie de página — leídos desde una página de cada plantilla, para que también se cubran las propias palabras del tema.

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

SEO

hreflang en cada página y el prefijo de idioma mantenido en el canónico y og:url, así que no se pierde ninguna traducción como duplicado.

<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/">

Buscar y fechas

Un visitante que busca en su idioma encuentra resultados, y las fechas siguen el formato propio de cada idioma.

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

Sitemap

No hay un segundo sitemap que enviar. Las páginas traducidas se añaden al sitemap que Google ya conoce — una entrada por página e idioma, cada una listando todas sus versiones lingüísticas. Sin un plugin SEO, el propio sitemap de WordPress obtiene un sitemap por idioma.

<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>

Caché de página

Cada idioma tiene su propia URL, almacenada en caché por separado y purgada tras cada traducción.

  • pt /about/ En caché
  • en /en/about/ En caché
  • es /es/about/ En caché
Funciona con

SEO y sitemaps

  • Yoast SEO
  • Rank Math
  • Slim SEO
  • Sitemap de WordPress
Funciona con

Caché de página

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

Tienda

  • WooCommerce
  • Paquetes de traducción oficiales de WordPress y WooCommerce
¿Usando WooCommerce? El carrito, la caja y los correos electrónicos de pedidos también están cubiertos.
También diseñado para tiendas

Las partes
que otros dejan
en inglés.

El carrito, la caja, los avisos — donde una cadena no traducida duele más, en el momento en que alguien está gastando dinero. Cubierto de tres maneras diferentes, porque provienen de tres lugares diferentes.

Carrito y pago

Cubierto de tres maneras

Las etiquetas provienen del paquete revisado por humanos de WooCommerce. Los nombres de productos y categorías provienen del diccionario, a través de la API de la tienda. Los nombres de envío y pago se recopilan directamente de WooCommerce.

Automático

Y así se queda

Todo lo que se publica o guarda se traduce por sí mismo. Todo el sitio se revisa de nuevo una vez por semana y después de cada actualización de tema o plugin. Una traducción revisada nunca es sobreescrita por la máquina nuevamente.

SEO

El mapa del sitio que conoce Google

Una URL por idioma con hreflang alternativas, dentro del sitemap de Yoast SEO, Rank Math o Slim SEO. El canónico mantiene el prefijo del idioma, por lo que nada se descarta como duplicado.

Cadenas

Revisión manual

Cada traducción aparece con una columna de "Dónde" para contexto. Repara una y es tuya para siempre. Las cadenas fallidas se marcan y nunca bloquean el resto.

Modo de grabación

Captura lo que un rastreo no puede

Un carrito con artículos, un pago que devuelve errores, un cupón inválido. Navega como administrador con ?pht_record=1 y se registran, sin costo para ningún visitante.

Actualizaciones

Firmado, de PixelHunter

Nuevas versiones aparecen en Plugins → Plugins instalados como cualquier otro. Cada paquete está firmado con una clave ed25519; un paquete intercambiado es rechazado.

Caché de página

Purificado para ti

Cada idioma es su propia URL, así que cualquier caché la almacena por separado. Después de una traducción, las páginas cambiadas se purgan en WP-Optimize, LiteSpeed Cache, WP Rocket y W3 Total Cache. Dos hooks cubren el resto.

Buscar

Funciona en todos los idiomas

Un visitante en inglés que busca "jacket" encuentra "Casaco": el plugin busca el término original. El tema y el motor de búsqueda nunca lo saben.

Glosario y tono

Tus palabras, tu voz

Los nombres de marcas y términos fijos se mantienen como están — una regla por línea. Una frase o dos sobre el tono de la marca acompaña cada solicitud. Cualquier cosa dentro translate="no" o <address> se deja intacto.

Correos de pedidos · WooCommerce

El correo llega en el idioma del comprador.

Alguien compra en inglés. WooCommerce envía "Su pedido ha sido pagado" — y el plugin lo envía en inglés: asunto, encabezado, nombres de productos, método de envío y pago, la fecha, el texto que escribiste para el pie. El pedido en sí se guarda en el idioma de la tienda, por lo que el administrador, las facturas y los informes leen un idioma.

Lo que escribió la tiendapt-PT · la tienda
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.

Lo que recibe el compradoren · el 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 correo electrónico después de la compra

Pagado, completado, reembolsado, una nota de la tienda — en el idioma de la compra, desde el asunto hasta el pie de página.

Tus propias palabras, traducidas una vez

Asunto, encabezado, contenido adicional y pie de página que escribiste en WooCommerce → Los correos pasan por el diccionario. Revísalos a mano en Strings.

Etiquetas gratis, fechas correctas

"Subtotal", "Envío", "Método de pago" provienen del paquete revisado por humanos de WooCommerce. La fecha utiliza el formato propio de cada idioma — no "9 de septiembre de 2026".

La tienda lee un idioma

Los pedidos se guardan en el idioma de origen con el idioma de la compra en _pht_lang. Los correos al administrador permanecen en el idioma de la tienda.

Cualquier estado de pedido

Procesando Pagado Completado Reembolsado Nota de la tienda Todo en el idioma del comprador Correos del administrador · idioma de la tienda
El selector de idioma

Cualquier rincón.
Cuatro formas.

Nada por lo que el tema luche. Cuatro kilobytes de CSS, solo en las páginas donde se muestra. Tres formas son enlaces simples sin JavaScript. Los colores, tamaño, bordes y sombras se establecen con una vista previa en vivo que avisa si está por debajo de 4.5:1 — y cada valor es una variable CSS, por lo que un tema puede reestilizarlo sin !important.

AparienciaPestaña del conmutador
Caja#ffffff
Idioma#1a1a1a
Actual#1a1a1a
Flotar#dcdcde
Tamaño de texto14px
Esquinas8px
Sombrasuave
Contraste 16.1:1 — pasa WCAG AA. El panel advierte en el momento en que un color de texto cae por debajo de 4.5:1.

Dónde aparece

Modos
01Automático — flota en la esquina que selecciones, sin tocar nada en el tema. También se muestra en el carrito y en la compra, donde un visitante en el idioma incorrecto necesita una forma de volver.
02Manual — colócalo tú mismo con [pht_switcher] o pht_switcher() en una plantilla. El flotante se aparta en esa página; nunca hay dos.
03Desactivado — oculto. Nombres o códigos, con o sin banderas emoji, es un conmutador en cualquier dirección.

Barra de sugerencias

Opcional
01Un visitante cuyo navegador hable otro idioma ve una pequeña barra en la parte superior ofreciendo su versión.
02Su función es sugerir, nunca redirigir. La redirección por el idioma del navegador rompe la caché de la página, y Google lo desaconseja.
03Se muestra una vez. Elegir o cerrar responde por completo. En las páginas traducidas, la propia oferta de "Traducir esta página" del navegador se silencia: la suya encima de la nuestra se ve peor.
Cómo funciona

Una
separación.

La traducción ocurre en segundo plano. El servicio es solo lectura. Es el modelo que Shopify utiliza para Translate & Adapt — y lo opuesto a los plugins que traducen HTML a demanda y pagan de nuevo por cada nueva página que un visitante abre.

Tiempo de traducción

Fondo
01El texto se lee directamente de la base de datos — productos, categorías, páginas, menús, configuraciones de la tienda — además de una página de cada plantilla.
02Solo lo que falta va al servicio de traducción PixelHunter, varios lotes a la vez. Una tienda completa tarda menos de un minuto.
03El diccionario se compila en un archivo PHP dentro de uploads/. Un producto que publicas se traduce unos segundos después.

Tiempo de servicio

Solo lectura
01El prefijo de idioma se elimina antes de que el enrutador de WordPress se ejecute — /en/shop/ se resuelve como /shop/. Sin reglas de reescritura.
02El diccionario se mantiene en OPcache. Servir una página traducida no cuesta ni una consulta ni una solicitud HTTP.
03HTML pasa por el núcleo WP_HTML_Processor. Con un diccionario vacío, la salida es byte por byte igual a la entrada.
costo = 38 ms + 0.12 ms × reemplazo lineal · medido en la página más pesada de una tienda real · 262 KB · 719 reemplazos
Configuración

Cuatro pasos. Un botón.

No hay ninguna cuenta API que configurar y nada que ajustar: la API de traducción tiene su propia clave. Un glosario y un tono de marca son opcionales, en Configuración.

1 Idiomas

Elige la fuente, añade los destinos

Cada idioma objetivo tiene su propio prefijo de URL — /en/, /es/. El panel instala los paquetes de traducción de WordPress y WooCommerce que faltan con un clic.

2 Licencia

Pega la clave

Mejor en wp-config.php como PHT_LICENSE_KEY: no en la base de datos, no en una exportación, no editable desde el administrador. Una clave sirve para todos los sitios de tu plan.

3 Tablero

Traducir el sitio

Un botón lee todo el sitio y envía lo que falta, con una barra de progreso. Cierra la página — el resto continúa en segundo plano.

4 Cadenas

Revisar lo que importa

Filtra por estado, busca, corrige manualmente. A partir de ese momento, lo que publiques se traduce solo.

Precios

Paga por texto.
No por tráfico.

Cada visita es gratuita: solo el texto nuevo o editado se envía para ser traducido. Cada carácter cuenta una vez por idioma de destino, y los caracteres no utilizados se acumulan mientras la suscripción esté activa. Los planes anuales cuestan diez meses.

Período de facturación
Moneda
Prueba gratuita
Gratis
sin tarjeta, una vez
30,000 caracteres, una vez
1 sitio
Pruébalo gratis
Inicial
$5/mes
facturado mensualmente
$50/año
12 meses al precio de 10
300,000 caracteres al mes
1 sitio
3,600,000 caracteres al año, todos al principio
1 sitio
Suscribirse Suscribirse
Pro La mayoría de las tiendas
$12/mes
facturado mensualmente
$120/año
12 meses al precio de 10
1,500,000 caracteres al mes
hasta 5 sitios en una clave
18,000,000 caracteres al año, todos al principio
hasta 5 sitios en una clave
Suscribirse Suscribirse
Agencia
$29/mes
facturado mensualmente
$290/año
12 meses al precio de 10
6,000,000 caracteres al mes
hasta 25 sitios en una clave
72,000,000 caracteres al año, todos al principio
hasta 25 sitios en una clave
Suscribirse Suscribirse

¿Preguntas sobre impuestos, cómo se cuentan los caracteres o cambiar de plan? Lee la guía de planes en la documentación.

Respuestas directas

Lo que hace. Lo que no hace.

01

¿Necesito una cuenta API?

No. El complemento solo se comunica con la API de traducción de PixelHunter, que tiene su propia clave: solo necesitas la clave de licencia.

02

¿Necesito WooCommerce?

No. WooCommerce es opcional: el plugin traduce cualquier sitio de WordPress — páginas, publicaciones, menús, categorías y los textos de tu tema. Cuando hay una tienda, el carrito, el pago y los correos de pedido también están cubiertos.

03

¿Están las páginas traducidas en mi mapa del sitio?

Sí. No hay un segundo mapa del sitio que enviar: las páginas traducidas se añaden al que ya tienes. Con Yoast SEO, Rank Math o Slim SEO cada página recibe una entrada por idioma, con todas sus versiones como alternates hreflang; sin un plugin de SEO, el propio mapa del sitio de WordPress recibe un mapa del sitio por idioma.

04

¿Con qué plugins funciona?

Yoast SEO, Rank Math y Slim SEO para canónicos y mapas del sitio; WP-Optimize, LiteSpeed Cache, WP Rocket y W3 Total Cache para purgar caché de página; y WooCommerce, con sus paquetes de traducción oficiales. Cualquier otro caché de página se puede conectar a través de dos hooks.

05

¿Se traducen los slugs de URL?

No, a propósito. Solo cambia el prefijo: /en/produto/blusas/ mantiene el slug original. Cada idioma tiene su propia dirección, con una canónica que mantiene el prefijo y hreflang a cada otra versión, de modo que Google vea versiones en diferentes idiomas — nunca contenido duplicado. Y un enlace nunca se rompe cuando una traducción se corrige más tarde.

06

¿Acelera mi sitio?

En el idioma original, 0 ms. En páginas traducidas, el diccionario se lee desde OPcache; una caché de la página de host sirve cada idioma una vez por URL por TTL.

07

«Subtotal», «Proceed to checkout»?

Provienen del paquete de traducción oficial de WooCommerce — revisados por humanos, sin coste de API. El panel indica qué paquetes faltan e los instala.

08

¿Los correos electrónicos a la tienda cambian?

No. Los correos electrónicos al administrador permanecen en el idioma de la tienda; solo los correos del cliente se envían en el idioma de la compra.

09

¿Requisitos?

WordPress 6.7 o superior y PHP 8.1 o superior. Sin paso de construcción, sin jQuery, sin dependencias de tiempo de ejecución.

10

¿Qué pasa cuando se acaban los caracteres?

Las traducciones se detienen y se reintentan cada hora. No se pierde nada: los textos pendientes esperan el siguiente período, y el sitio sigue sirviendo todo lo que ya ha sido traducido. ¿Necesitas más? Cambia de plan en Mi cuenta: una nueva clave para el nuevo plan llega por correo electrónico, y la traducción reanuda una vez que se pega en tus sitios.

11

¿Y si cancelo?

La clave funciona hasta el final del período pagado. Después, el sitio sigue mostrando cada traducción que tiene — solo el nuevo texto deja de ser traducido.

12

¿Se cuenta staging como un sitio?

Sí. Traduce en el sitio en vivo, o libera un espacio en Mi cuenta → Activaciones mientras trabajas en el texto. La prueba gratuita es una vez por sitio y no acepta correos electrónicos desechables.

13

¿Qué no se traduce?

URL slugs, cualquier cosa dentro <script> — incluidos el JSON-LD de plugins SEO — y correos electrónicos de clientes no ligados a un pedido, que se envían en el idioma de la tienda. Cada oración tiene una traducción en todo el sitio.

Para desarrolladores

Tres funciones. Tres filtros. Dos acciones.

Idioma actual
<?php if ( 'en' === pht_current_language() ) : ?>
  <p>Free shipping to the UK.</p>
<?php endif; ?>
Selector, a mano
[pht_switcher show_label="no" class="mine"]

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

Publicar.
Leelo en
cada idioma.

30,000 caracteres, un sitio, sin tarjeta. La clave llega por correo electrónico después de la compra.