Problemas con la traducción de WordPress y PHP5

Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someonePrint this page

No hace mucho uno de los desarrolladores de WordPress comentaba en su blog que no veía necesario exigir PHP 5.x como requisito mínimo para poder usar WordPress y daba algunos argumentos como que por ejemplo todavía hay muchos hostings donde siguen usando PHP 4.x.

No sé si será también otro argumento el hecho de WordPress se lleva fatal con cada nueva versión que sale de PHP 5.x. Y cada vez que se actualiza uno de los dos hay nuevos problemas entre ellos…

Hoy tras trasladar uno de los blogs que administro me he topado con una de estas incompatibilidades, en concreto el problema era que tras actualizar el hosting de PHP 5.2.0 a PHP 5.2.2 y usando WordPress 2.2, dejó de funcionar por completo la traducción del panel de administración de WordPress (y la de la plantilla que usa que también está traducida con un archivo .mo). Todo seguía configurado como siempre, el wp-config.php con el valor es_ES en su sitio, el archivo .mo en su carpeta correspondiente, etc…

Resulta que tú has decidido que quieres la tener a la última tu servidor y tienes instalada la última versión de WordPress (2.2) y la última versión de PHP (5.2.2). Y te llevas el chasco de que ¡ahora no te funciona la traducción del panel de administración de WordPres!.

¿El problema?, unos dicen que es un fallo de PHP y otros una mala programación de WordPress, a nostros nos importa la solución que a continuación detallo:

1. Localiza el archivo gettext.php en la carpeta wp-includes de tu WordPress, haz una copia de seguridad por si las moscas.

2. Busca en dicho archivo estas líneas consecutivas de código (en concreto de la 117 a la 119 en la versión 2.2 de WP):

if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
$this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {

3. E inserta estas otras tres en su lugar:

if ($magic == $MAGIC1) {
$this->BYTEORDER = 0;
} elseif ($magic == $MAGIC2) {

4. Guarda los cambios, sube el archivo editado a tu hosting, cruza los dedos y… ¡volverás a ver el “tablero” en español! ;)

Si no te atreves a realizar la operación por ti mismo, puedes descargar desde aquí el archivo gettext.php listo para usar y solucionar el problema de la traducción de WordPress en PHP 5:

–Descarga eliminada–

Esta solución también funciona para la versión 2.1.x de WordPress.

Si por el contrario esto no os soluciona el problema y empezáis a tiraros de los pelos de la cabeza porque no entendéis que es lo que falla… quizás sea hora de mirar lo que deberíamos de haber mirado primero… ¿tiene nuestro PHP el módulo de gettext incluido?.

Gettext es un estándar de traducción para software libre, que como habrás podido deducir por el nombre del archivo que he comentado anteriormente es el que usa WordPress para sus traducciones, y si el administrador del hosting no ha compilado el PHP sin incluir el módulo de gettext, ya podemos hacer maravillas que jamás veremos nuestro WordPress traducido…

Para saber si tenemos este módulo activado basta con descarguéis el siguiente archivo que contiene una simple instrucción de PHP que nos mostrará la información que necesitamos saber (y mucha más):

–Descarga eliminada–

Ahora sólo queda subirlo a una carpeta visible desde el navegador (sirve el raíz de vuestro blog mismamente).

Ponéis la dirección para acceder al archivo en vuestro navegador y os mostrará toda la información relativa al PHP de vuestro hosting, seguramente os confunda tanta información, si no queréis hacer una búsqueda visual podéis usar la función de buscar del navegador y buscar por “gettext“, si el módulo está en su sitio lo encontraréis ahí, sino sale por ningún lado… tendréis que pedirle al administrador del hosting que os lo instale, porque no se puede hacer nada sin este módulo.

22 pensamientos en “Problemas con la traducción de WordPress y PHP5

  1. Samuel Aguilera

    De nada, yo también he sufrido errores como estos cuando supuestamente todo está bien configurado pero las cosas no funcionan como deberían.

    Creo que son los que mayores quebraderos de cabeza dan.

  2. gaby campo

    mil gracias!!! hace 3 dias que estaba dando vueltas con este tema y no entendia que pasaba. Funciono perfecto.

    Gracias de nuevo. saludos.

  3. Pingback:   Como crear tus propias traducciones de WordPress por Agamum.net

  4. José Carlos

    Hola, yo tengo la versión 2.3 y no me va, ¿será por eso? ¿o simplemente con ese mismo archivo valdría para las dos versiones?

  5. TeNTiRuJo

    Muchísimas gracias, te pondría un monumento…

    Madre mía que rompederos de cabeza me ha traído este tema. Gracias de nuevo.

  6. Samuel Aguilera

    Me alegro de que te haya servido :)

    Si quieres en lugar de un monumento me puedes hacer una donación por Paypal… si te animas dímelo y te digo a que email enviarla… :D

  7. Pingback: El Blog de TeNTiRuJo » Cómo migrar tu WordPress de un dominio a otro

  8. Patricio Q

    Excelente solución, había probado de todo y , mi blog no se traducía. Con esto se arregló de inmediato. MUCHAS GRACIAS.
    Ahora voy a probar lo mismo en Bbpress que me pasa lo mismo.

  9. betto

    pues yo he instalado la versión 2.3.1 y no consigo sacar el problema adelante. Resulta que al principio me daba fallo el define(‘WPLANG’, ‘es_ES’); por tener php4 en el servidor. Una vez migrado a 5 ya no me daba fallo en esa línea, pero no conseguí traducirlo.

    Encontré este artículo y creí que ya estaba, pero no ha habido manera. He comprobado que tengo gettext y he modificado el archivo, he probado con el tuyo, todas las combinaciones posibles, y no lo consigo de ninguna manera

    de todos modos, muchas gracias

  10. Samuel Aguilera

    Pues si has probado ya todo lo comentado (y lo has hecho correctamente), sólo te quedas dos opciones.

    1. Comenta el problema a tu proveedor de hosting, están ahí para ayudarte (por ello les pagas, entre otras cosas).

    2. Busca en el foro de wordpress.org, y si no encuentras a nadie con tu mismo problema, crea un nuevo post y comenta en detalle lo que has hecho y cual es el problema.

  11. Pingback: Arreglar el problema de traducción al castellano de Wordpress « Helektron.com

  12. Agradecido jajaja

    Muchas Gracias, por la ayuda te la volaste compa, me puse a traducir a pie todo wordpress pero me di cuenta ke nunca terminaria hice un monton de cosas, hasta darme cuenta de ke no era en si wordpress, sino el php pero ya con tu ayuda problema resuelto.. muchas gracias

  13. Pingback:   Actualización a WordPress 2.3.3 en Agamum.net

Deja un comentario

Tu dirección de email no será publicada. Campos obligatorios marcados con *