Skip to content

Problemas con la traducción de WordPress y PHP5

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.

Published inTraduccionesWordPress

22 Comments

  1. Toni Toni

    Gracias por publicar lo solucion. No sabes lo “quemao” que ya estaba con esto…

  2. Samuel Aguilera 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.

  3. ana ana

    gracias! había probado de todo y no lo conseguía arreglar, pero tu gettext.php ha funcionado a la primera :)

  4. gaby campo 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.

  5.   Como crear tus propias traducciones de WordPress por Agamum.net

    […] Y si aún así, y después de repasarlo todo no te funcionan las traducciones, quizás te sirva esta solución a problemas con las traducciones de WordPress. […]

  6. Pepino Pepino

    Hola

    a mí no me funciona y sí que tengo el gettext incluido. Estoy usando la versión 2.2.3, no será por eso?

    Un saludo.

  7. Pepino Pepino

    Pues no es eso, porque localmente en mi ordenador sí que va bien. ¿alguna idea?

    Podría intentar usar un php anterior?

  8. José Carlos 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?

  9. Samuel Aguilera Samuel Aguilera

    Pues no sé, pruébalo y nos cuentas…

  10. TeNTiRuJo 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.

  11. TeNTiRuJo TeNTiRuJo

    Por cierto, en WP 2.3 funciona tu solución :-)

  12. Samuel Aguilera 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

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

    […] sí lo hacía en 1and1.es. De nuevo vía soporte y con Google, encuentro la razón y la solución: la versión 5 de php es el problema, y la solución el archivo gettext.php de WordPress (según se mire, algunos dicen que el problema es de este último por estar mal programado, pero yo […]

  14. Patricio Q 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.

  15. betto 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

  16. Samuel Aguilera 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.

  17. Krad Krad

    Gracias!!!! al finn la solucion a mi problema!

  18. Arreglar el problema de traducción al castellano de Wordpress « Helektron.com

    […] si revisamos esto y nos sigue apareciendo en inglés, al parecer es un “problemilla” con una parte del código del fichero […]

  19. Agradecido jajaja 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

  20. The-RockeR The-RockeR

    Muchas gracias, a mí también me ha venido de perlas :D

  21.   Actualización a WordPress 2.3.3 en Agamum.net

    […] A mí, personalmente, por esto de que tendría que ser un usuario válido el que hiciera uso de la vulnerabilidad, no me parece extremadamente urgente la actualización salvo que tengas un blog con varios usuarios de los cuales no tienes muchas garantías de confianza… De todos modos, además de este problema de seguridad, también corrigen algunos pequeños fallos. Entre ellos parece ser que está el problema de las traducciones de WordPress cuando lo tenemos instalado en un servidor con PHP 5.2.1. […]

  22. ram ram

    GRACIAS, perfecto, claro, facil.

Leave a Reply to Samuel Aguilera Cancel reply

Your email address will not be published. Required fields are marked *