En este artículo aprenderás a traducir tu tema de WordPress (o plugins) de dos maneras: utilizando el programa Poedit o utilizando el plugin Codestyling Localization. Una página web de WordPress totalmente localizada y traducida requiere la traducción de los contenidos (utilizando algún plugin de traducción como WPML, Polylang o Multilingual Press), así como la traducción de las cadenas de texto que se encuentran en los archivos PHP.
ÍNDICE
1. Cadenas de texto: archivos .POT, .PO y .MO
1.1. Portable Object Template (POT)
1.2. Portable Object (PO) y Machine Object (MO)
2. Cómo traducir un tema o un plugin de WordPress
2.1. Poedit (software)
2.2. Codestyling Localization (plugin)
3. Temas y plugins de WordPress compatibles con la funcionalidad multilingüe
Introducción
Si quieres diseñar una página web de WordPress en dos o más idiomas, hay una distinción muy importante que hay que entender. En un sitio web de WordPress deben traducirse dos tipos de textos, contenidos y cadenas de texto:
Contenidos (entradas, páginas, categorías, taxonomías, etc)
Es la parte más importante. Están ubicados en las tablas de la base de datos de WordPress. La traducción de los contenidos requiere una solución que lea tus entradas y páginas de la base de datos y que permita traducirlas a otros idiomas.
Si quieres saber cómo traducir tus contenidos, puedes leer esta COMPLETA GUÍA. Puedes utilizar plugins gratuitos como qTranslate o Polylang, y plugins de pago como WPML (en una instalación individual de WordPress) o Multilingual Press Pro (en una instalación de WordPress Multisite).
Cadenas de texto (archivos PHP) en temas y plugins
Los temas y plugins de WordPress incluyen cadenas de texto contenidas en archivos PHP. Cuando veas un código como este: <php _e( ‘Text’, ‘a-text-domain’ ) ?>, en un archivo PHP de un tema o plugin, ello significa que las cadenas de texto que contiene también deberán ser traducidas.
Las cadenas de textos pueden aparecer tanto en el escritorio de WordPress como en el frontend de la web. En este último caso serán visibles para todos los usuarios que visiten tu web.
Tanto WordPress como sus temas, están diseñados de manera nativa en inglés. Ejemplos de cadenas de texto en inglés que aparecen en el frontend:
- “Search” (botón de búsqueda)
- “Nothing found” (cuando buscas algo y no encuentras nada te aparecerá este texto)
- “Read more” (etiqueta que suele aparecer en el resumen de un artículo de tu blog)
- “Leave a comment” (texto para animar a los usuarios a dejar un comentario)
- “Comments are closed” (cuando se cierran los comentarios)
- “Older comments” (comentarios más antiguos)
Ejemplos de cadenas de texto que aparecen en el panel de administración de WordPress (backend):
- “Top primary menu” (textos en la zona de widgets)
- “Ready to publish your first post?” (texto en el escritorio de inicio de WordPress)
- “Number of posts to show:” (otro texto en el escritorio de WordPress)
- “Twenty Fourteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again” (textos del tema Twenty Fourteen).
Herramientas como Poedit (que puedes utilizar de manera gratuita) o plugins como Codestyling Localization, te permiten traducir estas cadenas de texto de tu WordPress. También, herramientas de pago como WPML, te permiten traducir estas cadenas.
En esta guía te muestro cómo puedes traducir las cadenas de texto: utilizando Poedit o el plugin Codestyling Localization Plugin. Pero antes de todo es importante saber qué son los archivos .POT, .PO y .MO.
1. Cadenas de texto: archivos .POT, .PO y .MO
Los temas de WordPress están localizados utilizando el software GNU gettext. Es la manera habitual utilizada por el núcleo de WordPress y por cada uno de los temas o plugins. Sin embargo, los desarrolladores no siempre diseñan temas ya preparados para ser traducidos por lo que es importante, antes de comprar un tema o un plugin, asegurarse de que pueden traducirse (es posible incluso que te encuentres con la agradable sorpresa de que ya vengan traducidos a otros idiomas). Pero esto no siempre es así
Muchos temas de WordPress ya vienen traducidos a otros idiomas o, al menos, están listos para ser traducidos de manera sencilla. Para ello, estos temas o plugins, han de contener los archivos apropiados: .POT, .PO y .MO files.
1.1. Portable Object Template (POT)
El archivo de traducción principal de un tema (o plugin) tiene extensión .POT. Básicamente, el archivo .POT es una lista de todos los textos utilizados en los archivos PHP del tema, habitualmente en inglés:
Los desarrolladores utilizan herramientas (como gettext) que lo que hacen es escanear los archivos PHP y generar un archivo .POT , el cual contendrá una lista de todos los textos originales que necesitarán ser traducidos.
El archivo .POT es puesto a tu disposición por el desarrollador del tema o plugin y es el punto de partida para crear traducciones a otros idiomas. WordPress no utiliza estos archivos.
El archivo .POT puedes encontrarlo en la carpeta de idiomas de tu tema (o plugin). Ejemplos:
- Tema Responsive WordPress: wp-content/themes/responsive/languages/responsive.pot
- Plugin Contact Form 7: wp-content/plugins/contact-form-7/languages/contact-form-7.pot
En algunas ocasiones la carpeta de idiomas se denomina lang (no language) y frecuentemente los archivos .POT vienen también con archivos .PO y .MO, así como con un archivo README.TXT con instrucciones para los traductores:
1.2. Portable Object (PO) y Machine Object (MO)
El archivo .PO contiene los textos originales así como las traducciones, en dos columnas. Se trata de una traducción que alguien ha empezado (realizada por el autor, un traductor profesional o un usuario del tema) y que quizás ya haya terminado. WordPress no utiliza los archivos .PO.
Es muy posible que tu tema o plugin ya haya sido traducido a otros idiomas. Por ejemplo, si ves un archivo llamado fr_FR, es porque tu tema ya ha sido traducido al francés. Puedes comprobar en este enlace cada uno de los códigos de idiomas de cada país.
El archivo .MO incluye exactamente los mismos contenidos que el archivo PO correspondiente. Los dos archivos difieren únicamente en su formato. Mientras que el archivo .PO es de fácil lectura para las personas, los archivos .MO son fáciles de leer para los ordenadores. WordPress obtiene las traducciones de los archivos .MO.
El archivo .MO es automáticamente creado por Poedit cuando guardas un archivo .PO. Lo que debes hacer con estos archivos es subirlos al servidor cada vez que crees o actualices un archivo .PO.
2. Cómo traducir un tema o plugin de WordPress
2.1. Poedit (software)
Poedit es un software (disponible tanto para Windows como para Mac y Linux) que te permite traducir un tema o plugin de WordPress. Está disponible de manera gratuita en poedit.net. La versión gratuita viene con una memoria de traducción que recuerda tus traducciones anteriores y las utiliza para hacerte sugerencias sobre textos similares.
También tiene una versión Pro con funcionalidades adicionales (como el recuento de palabras) y soporte técnico para WordPress. Cuesta 19.99 dólares.
Los pasos para traducir un tema o plugin con Poedit son los siguientes:
1. Abre Poedit y selecciona Archivo > Nuevo Catálogo desde archivo POT / PO
2. Selecciona el archivo .POT o .PO de tu tema o plugin que desees traducir (puedes encontrar los archivos en la carpeta wp-content/themes/your-theme/language/)
3. Una ventana emergente se abrirá preguntándote por el idioma de la traducción que vas a realizar. Selecciona el idioma:
4. Pulsa OK y Poedit le dará nombre automáticamente a tu archivo. Si seleccionas español (España): es_ES.po
5. Guarda el archivo en tu ordenador
6. Ahora ya puedes empezar la traducción de tu tema o plugin. Todo el texto que debe ser traducido aparecerá en la columna de la izquierda y las traducciones ya completadas se mostrarán en la parte derecha. Los campos de la parte de abajo te mostrarán el texto fuente, tu traducción y notas para los traductores. Traducir es un proceso muy sencillo: selecciona una palabra o frase, introduce tu traducción y haz clic en “Validar”.
NOTA IMPORTANTE:
- Has de respetar todos los caracteres especiales del texto original cuando realices la traducción (mira la captura de pantalla de arriba)
- No es obligatorio traducir todas las cadenas de texto. Quizás no quieras emplear tu tiempo traduciendo cadenas de texto que se encuentran en el panel de administración de tu tema o plugin de WordPress y que solo son visibles para ti, no para los usuarios.
7. Cuando finalices la traducción, guarda el archivo. Poedit automáticamente creará dos archivos, un .PO y un .MO. Tendrás que subir ambos archivos a la carpeta de idiomas de tu tema (o, en su caso, plugin).
2.2. Codestyling Localization (plugin)
Existe otra opción para realizar la traducción de los archivos .PO y .MO, directamente desde el propio panel de administración de WordPress sin la necesidad de utilizar Poedit.
Codestyling Localization es un plugin que te permite escanear los archivos .PO para su traducción. Una vez hayas instalado y activado este plugin, simplemente deberás dirigirte al panel de administración del mismo y seleccionar Herramientas > Localización, para poder traducir el tema o plugin directamente el propio escritorio de WordPress siguiendo las instrucciones que proporciona el plugin.
En todo caso, yo siempre recomiendo utilizar Poedit. Es un poco más laborioso pero te evitarás tener que instalar un nuevo plugin en tu WordPress.
Descargar Codestyling Localization
3. Temas y plugins de WordPress compatibles con la funcionalidad multilingüe
Si quieres hacer un sitio web de WordPress en varios idiomas, te recomiendo que antes de utilizar un tema, compruebes si el mismo está ya traducido a otros idiomas o si, al menos, está preparado para ser traducido de manera sencilla. Esto es también aplicable a los plugins.
3.1. Temas
STUDIOPRESS (Genesis Framework)
Genesis Framework, por ejemplo, puedes traducirlo automáticamente a diversos idiomas. No necesitarás ni traducir ni subir archivos .PO y .MO. Solo necesitarás instalar el plugin Genesis Translations. Puedes comprobar los idiomas disponibles y la evolución de las traducciones en este enlace: http://translate.studiopress.com.
En este enlace puedes encontrar todos los temas multilingües de Themeforest. Algunos temas de WordPress están ya preparados para ser traducidos con el plugin WPML o Poedit, pero también puedes encontrar temas con una solución completa de traducción (sin necesidad de utilizar plugins de traducción o herramientas externas. Por ejemplo: Amplus).
Todos los temas de Elegant Themes han sido localizados para ser traducidos de manera fácil. Cada tema incluye los archivos .MO y .PO. También se han empezado a añadir traducciones de los temas a algunos idiomas. En la actualidad, todos los temas vienen traducidos al inglés, ruso y alemán.
Más información: http://www.elegantthemes.com/features/localization.html
También puedes encontrar temas gratuitos en WordPress.org que ya vienen traducidos a otros idiomas o preparados para ser traducidos:
https://wordpress.org/themes/tags/translation-ready
DIYTHEMES (Thesis)
Si quieres saber cómo traducir los temas y diseños de Thesis a otros idiomas, en estos dos enlaces tienes toda la información:
- http://diythemes.com/thesis/rtfm/tutorials/translate
- http://diythemes.com/thesis/rtfm/tutorials/translate-skin
Los temas de WooThemes ya vienen preparados con un paquete de archivos para su traducción de manera fácil a otros idiomas. También, WooCommerce viene ya preparado para otros idiomas.
3.2. Plugins
El repositorio de plugins de WordPress no permite actualmente buscar plugins que ya estén traducidos a otros idiomas o preparados para ser traducidos. Por ello, si vas a utilizar algún plugin para tu proyecto multilingüe es conveniente comprobar la lista de características del mismo para ver si está ya preparado para ser traducido o contactar con el desarrollador para obtener más información.
Los plugins más populares ya vienen traducidos a muchos otros idiomas: Contact Form 7, WordPress SEO by Yoast, Jetpack, MailPoet Newsletters, etc. También, la mayoría de plugins de pago vienen en otros idiomas. Comprueba siempre el listado de características del plugin.
¿Cuál ha sido tu experiencia traduciendo tu tema o plugin? ¿Has utilizado algún tema que ya estaba traducido a otros idiomas? Gracias por compartir
Víctor dice
¡Hola Irena!
Antes que nada, muchas gracias por la guía, es en diferencia la más clara y actualizada que he encontrado! 😛
He seguido tu consejo de utilizar el Poedit, y como bien indicas, a partir de un archivo .pot me han salido un .po y un .mo. Pero el caso es que una vez subidos en la carpeta de origen (es decir, donde estaba el .pot) sigue sin aparecerme la traducción.
No sé exactamente el porqué, ni si hay algo más que deba configurar, pero dándole vueltas al asunto, me preguntaba si quizá convirtiendo esos dos archivos .po y .mo en uno solo .pot, y cambiar el original por éste… ¿Se traduciría?
Irena Domingo dice
¡Muchas gracias! Los archivos .po y .mo son imprescindibles. Comprueba en Ajustes > Generales > Idioma del sitio (abajo de todo), si tienes establecido correctamente el idioma. Comprueba también que has nombrado los archivos de forma correcta es_ES.po y es_ES.mo (en el caso de español). Sino comprueba si el desarrollador ha dejado alguna instrucción específica para la traducción de su tema.
Saludos
Irena
Nacho Carretero dice
Estupendo el artículo. Aunque todo es más fácil aún utilizando OmegaT, que cada vez es más versátil y sigue consolidándose como lo mejor del software libre para la traducción. ¡Un saludo!
Irena Domingo dice
Hola Nacho,
Gracias por tu comentario. Estoy de acuerdo contigo en que OmegaT es una excelente herramienta que también puede ser utilizada para la traducción de las cadenas de texto. Pero ten en cuenta que se trata de una herramienta más orientada hacia traductores profesionales y no hacia el público en general. Poedit es una herramienta muy sencilla de utilizar por parte de cualquier persona (traductor o no) que quiera traducir su tema de WordPress.
Saludos
Guillermo dice
Hola Irena, Dios te bendiga.
Te comento mi situación, en estos momentos yo me encuentro usando el tema Twenty Ten en WordPress, si visitas mi pagina veras que hay mas de 50 paises que nos siguen y hace unos dias se me ocurrio traducir la pagina la mayor cantidad de idiomas posible.
Necesito tus recomendaciones.
Unas de las opciones que tome por mi mismo fue buscar un Tema siendo ya Multilingue, pero tengo la preocupación de tener que empezar de cero con la administración de mi Pagina y eso me llevara muchos meses dejarla como esta… que me recomendas para que esto no me suceda? Gracias.
Irena Domingo dice
Hola Guillermo,
El tema que utilizas (Twenty Ten) ya es multilingüe. Las cadenas de texto que contiene Twnty Ten están traducidas a muchos idiomas:
https://translate.wordpress.org/projects/wp/dev/twentyten
Lo que necesitarás será traducir los contenidos que has creado en tu página web (páginas, entradas, etc) con algún plugin de traducción. En este artículo lo tienes explicado:
http://es.wplang.org/wordpress-plugins-traduccion/
Saludos
Irena
WebRivasVe dice
Hola Irene.
Por favor, me puedes ayudar en lo siguiente:
Compre un tema wp, pero el proveedor del tema lo obliga a uno a comprar el plugins wpml para poder traducirlo al resto de los idiomas. El tema tiene como idioma preferido el Ingles. Yo he buscado por todas partes y con diferentes plugins para traducir el idioma y nada no me toma la traducción.
Todas las configuraciones necesarias las he hecho, ya he traducido cientos de plantillas, por lo que te digo que soy especialista en el tema, pero este si que me tiene la cabeza loca.
¿Que otra alternativa puedo aplicar para traducir un tema del ingles al español?… El tema tiene los archivos .po y .mo ….. pero luego de traducirlo no toma la traducción.
Un detalle, el tema usa temas hijos de woocommerce y del propio tema….. y uso el plugins «ReduxFramework»….
Saludos irene, espero por vosssss…..
Gracias de antemano por la ayuda…
CR
Irena Domingo dice
Hola,
Es realmente complicado saber el motivo. Te diría que revises y traduzcas todos los archivos po y mo que vienen en el tema y con los plugins que comentas. Un aspecto importante que hay que tener claro es que WPML solo sirve si quieres tener tu sitio web en varios idiomas; si solo lo vas a tener en español no necesitas utilizar WPML, únicamente debes traducir los archivos po y mo.
Saludos
Irena
Arturo P dice
¿Alguna alternativa similar a Codestyling Localization? al parecer ya no existe o no se si tenga otro nombre
Gracias de antemano muy buen artículo
Irena Domingo dice
Sí, tienes una alternativa muy buena: Loco Translate
Toto dice
Hola Irena!!!
Se puede usar al mismo tiempo WPML y loco translate?
Parece excesivo, pero hay traducciones que no logro hacer con WPML. Que me recomiendas?
Irena Domingo dice
Sí que se puede, aunque quizás sea un poco excesivo. Prueba a ver si no te da ningún problema.
Diego AMC dice
Hola Irena, muy buen articulo, he querido usar poedit para traducir un tema a partir de una traduccion ya existente pero me sale un error que no he podido solucionar que dice «definicion de mensaje duplicada…» sabrias como resolverlo? gracias de antemano
Hernan dice
El plugin Codestyling Localization no existe más es una lastima, tengo un servidor complicado y me vendria muy bien, sabes de algun otro similar?
Irena Domingo dice
Ahora hay uno mejor llamado Loco Translate.
Amir El Nakhloul dice
Hola, use POedit y estoy tratando de traducir el plugin de WP Casa para crear una web inmobiliaria. La mayoria de las cosas se tradujeron, pero hay labels o campos personalizados que estan en ingles, pero en el POedit sale como que ya ha sido traducido al español. Que puede ser? Me pueden ayudar ?
Irena Domingo dice
En ese caso debes preguntar al desarrollador del tema.
Romina dice
Hola, quisiera que me ayudes porque esto intentando traducir dos temas (Natural shop y Babystores).
Modifiqué los archivos po y mo y los volví a subir pero sigue sin traducrise.
Ya verifique la configuración de WP y está en Español, los archivos po y mo los subí con _ES y también con es_Es y de ninguna forma funciona.
Desde ya muchas gracias por tu ayuda
Gaby Nieva dice
Hola Irena. Muchas gracias por tu artículo. Es muy claro y fácil de seguir. Tengo un blog con el que estoy empezando: dcodingames.com que usa el tema Hueman. Lo curioso es que el tema ya está en español, y de hecho, todo parece funcionar bien, a excepción de dos palabritas: FOLLOW y MORE, que aparecen en la página inicial, y están bien visibles.
Seguí tus pasos para traducir el tema, pero sigue lo mismo.
Por cierto, no busco un blog multilingüe, sólo busco publicar en español. ¿Tienes algún consejo que pueda ayudarme? Gracias de antemano.
Orlando Certad dice
Buenas Tardes , ante todo Felicitaciones por tu blog t explicacion, te pido ayuda a ver
si puedo salir vivo de esto , instale multisite usando la configuracion
de directorio , ya tengo los 2 sites listos uno en ingles y otro en
español y todo funciona bien peroooooo , que pasa este tema no tiene
archivos po , mo , y quiero traducir el texto read_more al español , el
problema es que tengo que modificarlos en cada php de las distintas
secciones del tema , pero obviamente al modicarlos dentro de la carpeta
del tema me los traduce para ambos sitios , tanto ára el ingles como
para el español , que puedo hacer , muchas gracias de antemano