Formato de fechas incorrecto al instalar qTranslate

Acabo de instalar qTranslate para poder tener entradas multilingües. Es un plugin de internacionalización muy bueno, lo habia utilizado en otras instalaciones de WordPress con buenos resultados.

Tras instalarlo con WordPress 3.0.1 el formato de las fechas para las entradas se ha roto. En vez de mostrar la fecha de publicación, mostraba el formato crudo de la fecha:la data:

Posted on %e de %B de %Y by johnny

He encontrado una solución en los foros de qTranslate:

  • Editar el fichero qtranslate_utils.php, linea 143 de:$date_parameters[] = '#%#'; $strftime_parameters[] = '%%';

    a:

    $date_parameters[] = '#%#'; $strftime_parameters[] = '%';

Parece que al añadir un símbolo de porcentaje de más el formato crudo se interpreta como si fuera texto literal, y la función strftime() no lo convierte.

El formato de fechas en castellano y catalán aún no es del todo correcto: se intercala "02UTC" después de cada componente de la fecha y de momento no he encontrado solución.

Recursos

About johnny

Computers have interested me since I can remember and conveniently I studied computer science. I also enjoy performing in a local amateur theatre group and cycling. This is where I post solutions to problems I've had in the office or any other project, hopefully clearly enough to refer back to in the future.
This entry was posted in Uncategorized. Bookmark the permalink.

23 Responses to Formato de fechas incorrecto al instalar qTranslate

  1. mirick says:

    it's a blog is what i'm saying

  2. mirick says:

    it's your blog. you have one.

  3. etags says:

    Comenté las líneas144 a 146 y funciona bien para español. espero que sirva .Gracias

  4. etags says:

    De nuevo, tuve que corregir algunas líneas pero creo que de esta manera funciona bien, por cierto es un bug del qtranslate ya que reemplaza los strings donde encuentra los caracteres %d o "d" simplemente , asi que limite esos caracteres para que se pueda tomar los caracteres que se forman de esta forma "%d", " d ","d "," d"

    Estas son las líneas a cambiar en el archivo qtranslate_utils.php
    línea 143

    [code]
    $date_parameters[] = '#%#'; $strftime_parameters[] = '%';
    foreach($mappings as $df => $sf) {
    //$a = '#(([^%\\\\])'.$df.'|^'.$df.')#';
    $a = "#([^%a-z ]".$df."| ".$df." |^".$df. "| ".$df."$)#";
    $b = ' ${2}'.$sf;
    $date_parameters[] = $a; $strftime_parameters[] = $b;

    }
    [/code]

  5. Dude! Thanks so much for taking the trouble to document this: your proposed solution worked like a charm. My warm best wishes to you.

  6. Pingback: How to avoid dates look like ‘%A %B %e%q, %Y’ in Wordpress blogs? | Calmarius' website

  7. Merciiiiii he estado buscando esta solución mucho rato!!! Genial

  8. Gustavo says:

    Hola etags, por favor, necesito tu ayuda urgente. He hecho los cambios del codigo como has explicado y se me ha arruinado el archivo "qtranslate_utils.php". Me sale un aviso que dice: "Parse error: syntax error, unexpected '>' in C:\Inetpub\vhosts\grisconcepte.com\httpdocs\web\wp-content\plugins\qtranslate\qtranslate_utils.php on line 130" y no me deja hacer nada mas. Tuve la precausion de guardar en txt el codigo original; lo restauré pero sigue sin funcionar. Por favor dime que puedo hacer.

  9. Gustavo says:

    Lo he solucionado. No podia restaurarlo, supondo que porque al pegar el codigo en el Bloc de notas me habia desaparecido el formato y cambiaba el número de cada línea. Abrí el archivo con WordPad y copié desde ahí el codigo para despues pegarlo en el archivo del qTranslater.
    Igual te agradeceria si pudieras decirme en que he fallado para que no me funcione el cambio que tu propones.
    Gracias

  10. Pingback: wordpress plugin | Pearltrees

  11. Markus says:

    Hi and thanks a lot for publishing this bugfix for qtranslate!
    Worked fine for me. I am running wordpress version 3.3.1

    The only small difference was that you find the line of code in line 151 (qtranslate_utils.php)

    cheers

  12. Ben Irvin says:

    For anyone who installs qTranslate in 2012 and has this problem, you no longer have to edit any files.

    All you have to do now is go to qTranslate language settings -> "Advanced Options" -> "Date / Time Conversion" -> "Use strftime instead of date and replace formats with the predefined formats for each language."

  13. Rodrigo says:

    Hello. I just did what Ben Irvin says but i only got the time where the date was. Im using q translate i german, english and spanish. It translate the date for english and spanish but no german on my posts. Thanks for any idea. R

  14. krembo99 says:

    No need to Change the code , in 99% of the cases , what is needed is to choose the "Use strftime instead of date and replace formats with the predefined formats for each language.
    Depending on the mode selected, additional customizations of the theme may be needed" option in Advanced Settings in Qtranslate options ..

  15. JonK says:

    Amazing solution, this works for me.

    etags tu solución es genial, tenía un problema de formateo y ahora me lo has solucionado.

  16. Pingback: Wordpress qTranslate plugin date problem | Leo Panigo

  17. Lenin says:

    Ben Irvin and Krembo99 deserves a clap. You do not need to alter the code.

Deja un comentario

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

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>