La forma de traducir un tema de WordPress depende de lo que necesites. Si todo su sitio se ejecutará en un idioma distinto del inglés, cambie el idioma del sitio a Configuración → General y deje que WordPress descargue el paquete de idiomas del tema o edite el tema .po/.mo archivos de traducción con una herramienta como Loco Translate o Poedit. Si desea que los visitantes elijan entre varios idiomas, necesita un complemento multilingüe que traduzca el texto del tema y su contenido para cada idioma, ya que los archivos de traducción del tema por sí solos cambian todo el sitio a un solo idioma.
Conclusiones clave
- Las cadenas de temas (botones, etiquetas, “Leer más”, “Resultados de búsqueda para…”) viven en el código del tema y se traducen a través de un dominio de texto y
.po/.moarchivos. - Los temas del directorio WordPress.org obtienen paquetes de idiomas automáticamente desde translate.wordpress.org cuando cambia el idioma del sitio.
- Guarde traducciones personalizadas donde las actualizaciones de temas no puedan sobrescribirlas:
wp-content/languages/themes/o la carpeta protegida de Loco Translate. - El texto que no está envuelto en funciones de traducción no se puede traducir mediante
.poarchivos. Arréglelo en un tema secundario o utilice una herramienta que traduzca la página renderizada. - Para un sitio multilingüe, cada idioma necesita su propia URL y hreflang. A
.moel archivo no proporciona eso.
Primero, ¿qué tipo de “traducción” necesitas?
| Tu objetivo | Qué utilizar |
|---|---|
| Todo el sitio en un solo idioma (por ejemplo, un sitio exclusivo en alemán sobre un tema en inglés) | Configuración del idioma del sitio más los archivos de traducción del tema |
| Corrige algunas frases temáticas que faltan o son incorrectas en tu idioma | Loco Translate o Poedit para editar las traducciones del tema |
| Los visitantes pueden elegir entre inglés, alemán, francés… | Un complemento multilingüe que traduce cadenas temáticas y contenido por idioma |
La mayoría de las preguntas “cómo traduzco mi tema” son en realidad el tercer caso, por lo que la segunda mitad de esta guía lo cubre. Primero, cómo funciona la traducción de temas.
Cómo funciona la traducción de temas de WordPress
Un tema listo para traducción envuelve cada cadena visible en una función de traducción con el tema dominio de texto, una identificación única que coincide con la babosa del tema. Ejemplo del Manual de temas de WordPress: un tema llamado Fabled Sunset utiliza el dominio de texto fabled-sunset, declarado en style.css como Text Domain: fabled-sunset (Recursos para desarrolladores de WordPress).
En las plantillas del tema, las cadenas se ven así:
<?php esc_html_e( 'Read more', 'fabled-sunset' ); ?>
<?php echo esc_html( sprintf( __( 'Search results for: %s', 'fabled-sunset' ), get_search_query() ) ); ?>Las traducciones se almacenan en .po archivos (legibles para humanos) y compilados en .mo archivos, que son los que realmente utiliza WordPress. El manual enumera dos lugares donde WordPress busca la traducción de un tema, según la ubicación del sitio:
wp-content/themes/your-theme/{domain-path}/{locale}.mowp-content/languages/themes/{textdomain}-{locale}.mo
Desde WordPress 6.5, las traducciones también se pueden cargar desde .l10n.php archivos, un formato PHP más rápido que ahora incluyen los paquetes de idiomas WordPress.org. Si tan solo un .mo el archivo existe, todavía se carga como antes (Hacer de WordPress Core).
Paso 1: comprueba si tu tema está listo para traducción
- Abre el tema
style.cssy busca unText Domain:línea. - Busque un
languagescarpeta (o similar) que contiene un.potarchivo de plantilla. - Verifique un archivo de plantilla: las cadenas deben estar envueltas en funciones como
__(),_e(),esc_html__()oesc_html_e(), cada uno con el dominio de texto.
Si el tema no tiene ninguno de estos, sus cadenas están codificadas y no se pueden traducir con archivos de traducción. Salte a “Arreglar cadenas codificadas” a continuación o a la sección multilingüe.
Paso 2: prueba primero el paquete de idiomas
Para los temas alojados en el Directorio de temas de WordPress, el manual indica que usted “no necesita cargar traducciones”: WordPress verifica wp-content/languages y descarga traducciones del proyecto Traducting WordPress.
- Ir a Configuración → General y elige tu Idioma del sitio.
- Ir a Panel de control → Actualizaciones y haga clic Actualizar traducciones si se le solicita.
- Visita el sitio. Si los voluntarios del tema lo han traducido a tu idioma, la mayoría de las cadenas ya estarán traducidas.
Los temas premium comprados en otros lugares generalmente envían los suyos propios languages carpeta en su lugar; consulte la documentación del tema para conocer los idiomas incluidos.
Paso 3: editar o completar la traducción
Si faltan cadenas o no le gusta la redacción, edite los archivos de traducción.
Opción A: Loco Translate (dentro de WordPress)
Loco Translate “proporciona edición en el navegador de archivos de traducción de WordPress” y puede guardar traducciones personalizadas en un directorio de idioma protegido wp-content/languages/loco/themes, para que las actualizaciones del tema no las sobrescriban (Directorio de complementos de WordPress.org).
- Instale y active Loco Translate.
- Ir a Loco Traducir → Temas y elige tu tema.
- Haga clic Nuevo idioma, elige el idioma y elige el Personalizado Ubicación (protegida).
- Busque la cadena, escriba la traducción y haga clic Guardar. Loco compila el
.moarchivo para usted.
Opción B: Poedit (en tu computadora)
- Descarga el tema
.potarchivo (o el existente.popara tu idioma). - Ábrelo en Poedit, crea una nueva traducción para tu configuración regional y traduce las cadenas.
- Salvo. Poedit escribe ambos
.poy el compilado.mo. - Cambie el nombre de los archivos a
{textdomain}-{locale}, por ejemplofabled-sunset-de_DE.poy.mo, y subirlos awp-content/languages/themes/.
No coloque archivos personalizados dentro de la carpeta del tema: una actualización del tema reemplaza esa carpeta y sus traducciones con ella.
Arreglar cadenas codificadas
Cuando un tema imprime texto directamente (<a>Read more</a>), ningún archivo de traducción puede acceder a él. Tus opciones, desde la más limpia hasta la más rápida:
- Pregúntele al autor del tema para hacer que las cadenas sean traducibles. Ayuda a todos los usuarios del tema.
- Anule la plantilla en un tema secundario. Copie el archivo de plantilla en su tema secundario y envuelva la cadena:
esc_html_e( 'Read more', 'my-child-theme' );. Cargue las traducciones de su tema infantil conload_child_theme_textdomain()en elafter_setup_themegancho, como muestra el manual. - Utilice una herramienta que traduzca la página renderizada en lugar del código, que recoge el texto codificado junto con todo lo demás.
Una nota para desarrolladores: desde WordPress 6.7, WordPress advierte cuando un tema o complemento carga traducciones demasiado pronto, antes after_setup_theme o init (Hacer de WordPress Core). Si ves un _load_textdomain_just_in_time Aviso: después de una actualización, la corrección pertenece al código que carga el dominio de texto.
Recuerde también lo que no forma parte del tema: el contenido de la página y la publicación, los menús que creó, el texto del widget, los patrones de bloques que editó, el texto del personalizador y los diseños del generador de páginas se almacenan en la base de datos. Los archivos de traducción de temas no los tocan.
Traducir un tema para un sitio web multilingüe
UN .mo el archivo cambia el idioma de las cadenas del tema para todo el sitio. No puede mostrar alemán a un visitante ni francés a otro y no traduce su contenido. Para un sitio en varios idiomas necesitas tres cosas más:
- Cada fragmento de texto traducido, incluidas cadenas de temas, menús, widgets, contenido y salida de complementos, como botones WooCommerce y pago.
- Una URL separada para cada idioma, como
/de/y/fr/. Google recomienda URL diferentes para cada versión de idioma en lugar de cookies o configuraciones del navegador (Centro de búsqueda de Google). - Anotaciones de Hreflang vincular las versiones para que los motores de búsqueda muestren la correcta. Ver cómo agregar etiquetas hreflang.
Cómo lo maneja ConveyThis
El complemento ConveyThis para WordPress (1000+ instalaciones activas en WordPress.org, calificación 4.4/5 de 145 calificaciones) traduce la página que representa WordPress, por lo que las cadenas del tema, el texto codificado, los menús, los widgets, el contenido y la salida del complemento se traducen juntos, sin .po archivos a mantener. Es útil cuando un tema no está listo para traducción o cuando prefieres no administrar archivos de traducción por idioma.
En la práctica:
- Primer borrador automático, luego ediciones. Las páginas se traducen a máquina y usted refina cualquier cadena en el editor visual, que la muestra en su lugar en la página, para que pueda ver si una etiqueta de botón traducida aún encaja.
- Términos consistentes. UN glosario mantiene los nombres de marcas y productos sin traducir o traducidos de la misma manera en todas partes.
- URL listas para SEO. Cada idioma se sirve desde su propia subcarpeta o subdominio con metatítulos y descripciones traducidos y hreflang automático. Tú también puedes personalizar las URL traducidas.
- Exclusiones. Mantenga páginas o elementos específicos en el idioma original con reglas de exclusión.
- 210 idiomas, incluidos idiomas de derecha a izquierda como el árabe y el hebreo.
El Página de integración de WordPress cubre la instalación y la guía de ayuda paso a paso camina a través de la configuración. Si el rendimiento es una preocupación en un sitio más grande, consulte nuestra guía Rendimiento multilingüe de WordPress.
Solución de problemas: por qué una cadena de tema no se traduce
- Dominio de texto incorrecto. El dominio en la llamada de función debe coincidir con el de
style.cssy en el nombre del archivo. - Nombre de archivo o configuración regional incorrectos.
de_DEno esde; el archivo debe coincidir exactamente con el idioma del sitio. - Archivo en la carpeta incorrecta, o sobrescrito por una actualización del tema.
- Cadena no envuelta en una función de traducción (codificada).
- La cadena proviene de un complemento o de la base de datos, no el tema. Busque las traducciones del complemento o edite el contenido en sí.
- Caché. Borre los cachés de páginas y objetos después de cambiar los archivos de traducción.
Preguntas frecuentes
¿Cómo traduzco mi tema de WordPress a otro idioma?
Configure el idioma del sitio en Configuración, General y luego actualice las traducciones. Si el tema no tiene paquete de idiomas o desea una redacción diferente, cree o edite su traducción con Loco Translate o Poedit y guárdela en wp-content/languages/themes o en la carpeta protegida de Loco.
¿Dónde se almacenan los archivos de traducción de temas de WordPress?
WordPress busca en la carpeta de idioma del tema y en wp-content/languages/themes, utilizando archivos nombrados con el dominio de texto y la configuración regional, como fabled-sunset-de_DE.mo. Las traducciones personalizadas son más seguras fuera de la carpeta del tema.
¿Una actualización de tema eliminará mis traducciones?
Sí, si los guardaste dentro de la carpeta del tema. Guárdelos en wp-content/languages/themes o en el directorio protegido de Loco Translate.
¿Puedo traducir un tema que no está listo para ser traducido?
No con archivos de traducción. Envuelva las cadenas en funciones de traducción en un tema secundario o utilice una herramienta que traduzca la página renderizada, como ConveyThis.
¿Los archivos .po y .mo hacen que mi sitio sea multilingüe?
No. Cambian el lenguaje de las cadenas del tema para todo el sitio. Un sitio multilingüe necesita traducción de contenido, una URL por idioma y hreflang, que es lo que proporciona un complemento multilingüe.
Traduce todo el sitio, no sólo el tema
Si su objetivo es que los visitantes del sitio puedan leer en varios idiomas, usted puede hacerlo crear una cuenta ConveyThis, instale el complemento de WordPress y traduzca su tema y contenido juntos.