Suele ser frecuente que cuando incluimos plantillas de WordPress falte alguna de las traducciones que necesitamos para nuestro cliente. Además rara es la ocasión que la que nuestras necesidades no requieren que incluyamos modificaciones en la plantilla y tengamos que desarrollar un tema hijo.

En este artículo explicaremos cómo incluir una traducción de un tema de WordPress en nuestro tema hijo y configurarlo adecuadamente.

Los ficheros donde se almacenan las traducciones

Generalmente si investigas la estructura de carpetas de una plantilla o tema de WordPress podréis comprobar como casi siempre incluye un directorio lang en donde se alamacenan todos los ficheros de traducciones que soporta la plantilla. En esta estructura de ficheros podremos observar como existen ficheros *.po (ficheros editables que contienen las traducciones) y ficheros *.mo que son los que WordPress lee e interpreta para mostrar los textos traducidos.

Si necesitas una buena guía para realizar traducciones aquí tienes una entrada que realmente te será muy útil. Sin embargo ese no es el objeto del artículo que nos ocupa, sino un paso más allá, cuando ya los tenemos creados.

Incluir ficheros .po y .mo en temas hijos de WordPress

Cuando tenemos que realizar una traducción de una plantilla es preferible incluir nuestra traducción en el tema hijo y no en el padre por si al realizar alguna actualización del tema existe el riesgo de borrar o perder esa traducción. De ese modo nos aseguramos que todo nuestro trabajo y modificaciones se encuentran a salvo en el tema hijo.

Lo primero es crear una carpeta en nuestro tema hijo una carpeta para albergar estos ficheros, por ejemplo lang en donde incluiremos los ficheros *.po y *.mo

A continuación buscaremos el textdomain del tema padre. Deberás consultar el fichero style.css del tema padre para confirmarlo. Suele aparecer del siguiente modo:

/*
Theme Name: Twenty Eleven
Theme URI: https://wordpress.org/themes/twentyeleven/
Author: the WordPress team
(...)
Text Domain: twentyeleven
*/

Por último incluiremos el siguiente código en el fichero functions.php de nuestro tema hijo para asegurarnos que localice las nuevas traducciones añadidas.

function my_child_theme_setup() {
    load_child_theme_textdomain( 'twentyeleven', get_stylesheet_directory() . '/lang' );
}
add_action( 'after_setup_theme', 'my_child_theme_setup' );

Una vez hecho esto ya podemos elegir el idioma correspondiente en el área de administración Ajustes > Generales > Idioma del sitio y ya podremos ver los mensajes y opciones de menú en el idioma que hayamos incluido.

Un proceso como veis muy sencillo y que nos permite siempre tener todo nuestro código a salvo en caso de actualizar la plantilla padre. Espero os sea de utilidad.

Fuentes

Cómo traducir un tema o un plugin de WordPress: archivos .po y .mo

Comparte si te ha gustado

Autor:
Última actualización:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

De acuerdo con lo dispuesto en el Reglamento (UE) 2016/679 de 27 de abril de 2016, consiento que mis datos sean tratados bajo la responsabilidad de Oscar Gascón Arjol para recibir respuesta a consultas. publicación de comentarios del blog y que las conserve mientras haya un interés mutuo para ello. Me doy por informado que tengo derecho a revocar este consentimiento en cualquier momento y a ejercer los de acceso, rectificación, portabilidad y supresión de mis datos y los de limitación y oposición al tratamiento dirigiéndome por email a me@oscargascon.es. También estoy informado de que puedo reclamar ante la autoridad de control a www.agpd.es.