WordPress 2.7 y soporte multi idioma

Hoy me he levantado con ganas de actualizar el blog para darle soporte multi-idioma.

Al final, como una cosa ha llevado a la otra, haciendo pruebas en mi equipo de casa, he visto el nuevo WP 2.7 y me he dicho: Ya puestos, ¿por que no actualizar ambas cosas?

Pues nada, si alguien quiere saber cómo luce el  nuevo WP 2.7 a nivel de administrador, aquí pongo un screenshot:

Dashboard de WordPress 2.7

Dashboard de WordPress 2.7

La verdad es que le han dado un cambio bastante grande en esta versión, algo que se podría esperar de una versión 3.0, más que 2.7. Pero bien bien, parece que todo es bonito y va bien (quizá algo más lento en performance, por el uso intensivo de javascript), pero vamos ya es quejarse por vicio.

Finalmente, hace un tiempo que estoy pensando en escribir este blog en dos idiomas (Español e Inglés). Aunque seguiré escribiendo los artículos en Español, quiero también traducir algunos, de interés general, a inglés, y así también practico un poco, para que no se oxide el idioma.

Bueno, que me voy por las ramas. Resulta que he estado mirando y probando plugins en mi ordenador que dieran soporte multi-idioma (primero con la versión 2.6.3 de WordPress y  luego la 2.7).Básicamente he probado varios plugins, y si no me convencía, o no hacia lo que yo esperaba, fuera, al siguiente.  No espereis sacar de aquí un análisis exhaustivo, sólo mi conclusión:

ZdMultiLang es un plugin cojonudo! Este es el que he instalado en codigomanso.com. Ha funcionado a  la primera, te permite tener tantos lenguajes como quieras, traducir posts (una vez los has creado en el lenguaje original), traducir páginas, traducir tags, etc…

Es un plugin supersencillo de configurar y de usar. Vamos, creo que este plugin cumple con las cosas que está buscando cualquier persona que quiera dar soporte multi-idioma a su blog, y después de ver el resto de plugins… sin duda este es el mejor de los que he visto.

Además, los permalinks que genera por defecto son del tipo:

http://www.codigomanso.com/<codigo-de-idioma>/<permanink de tu post>

Que creo que es lo que uno espera como lógico.

Pues nada más, que de momento estoy contento, y aquí os dejo con algunas capturas de este plugin, para que os hagais una idea:

Selección de los distintos idiomas

Selección de los distintos idiomas

Opciónes de configuración de ZdMultilang

Opciónes de configuración de ZdMultilang

Lista de artículos a traducir

Lista de artículos a traducir

Trackback URL

, , , ,

1,575 Comments on "WordPress 2.7 y soporte multi idioma"

  1. Raúl
    22/01/2009 at 9:21 am Permalink

    Hola

    Antes de nada, gracias por el post. Está todo muy bien explicado.

    He instalado el plugin y tengo una duda. No se cómo hacer para que las banderitas salgan en el sidebar en lugar de en cada post o página.

    Por otro lado tengo otro problema que veo que tu también tienes, y es que no se como cambiar los literales del sidebar como: categorías, enlaces y archivo, para que salgan en inglés por ejemplo.

    Un saludo
    Raúl

  2. Pau Sanchez
    22/01/2009 at 11:26 am Permalink

    Hola Raul,
    Para que las banderas salgan en el sidebar, tienes que ir al tema actual que estés usando (por ejemplo: wordpress/wp-content/themes/default) y poner algo en plan:
    <div class="widget">
    <ul class="zd_multilang_list">
    <?= zd_multilang_menu (true); ?>
    </ul>
    </div>

    Si quieres más detalles, te recomiendo que le eches un vistazo al archivo de plugins/zdmultilang/zd_multilang.php y busques las funciones zd_multilang_menu (que es la que yo he usado) y zd_multilang_widget que es la que se supone que deberías usar.

    Sobre los literales del sidebar, hay varias formas. Yo imagino que la más fácil sería instalarse traducciones de wordpress (que usa gettext), y entonces poner __(‘Enlaces’) y luego en las traducciones actualizar ese string. La verdad que no te se contestar muy bien porque tampoco me he puesto.
    En mi caso sale siempre “Categorias” porque está ese string directamente metido en sidebar.

    Igual otra solución más chapucera, pero que no requeriría mucha investigación, seria obtener el idioma actual (mi versión de zdmultilang usa la variable global $CurrentLang, por lo que podrías mirar cual es el idioma actual y en función del mismo poner una cadena u otra. Algo parecido a esto:
    <?php
    global $CurrentLang;
    switch($CurrentLang) {
    case 'es': echo 'Enlaces'; break;
    case 'en':
    default: echo 'Links'; break;
    }
    ?>

    El código de arriba no está testeado ni se si funcionaría o no. Y además tiene el problema que puede ser que cambiando a otra versión del plugin, el idioma actual deje de estar en esa variable y esto no funcione. También puede ser que necesites llamar primero a la rutina de inicialización del plugin.

    A parte de estas, seguro que hay muchas más soluciones. En cualquier caso espero que esas ideas te encaminen, pero la solución final ya tendrás que encontrarla tú ;)

    Un saludo!

  3. Raúl
    23/01/2009 at 5:44 pm Permalink

    Muchas gracias de nuevo Pau

    Mañana me pondré a hacer pruebas y ya te cuento.

    Un saludo

  4. Pau Sanchez
    24/01/2009 at 4:22 am Permalink

    Por cierto que le he preguntado a Anthony Petitbois (el creador del plugin), y básicamente para obtener el idioma actual me ha contestado esto:

    “you can check the global variable $locale which is always accessible and filled with the current language.”

    Vamos, que la variable $locale sería la adecuada.

    Suerte con los cambios.

  5. Raúl
    26/01/2009 at 4:14 am Permalink

    Pau

    Lo de la sidebar ha sido copiar y pegar. Sin problemas. Aunque ahora está desactivado porque sólo hay contenidos en un idioma.

    Por si quieres echar un vistazo: http://www.rallyofspain.com

    Lo de los literales, creo que se me empieza a escapar :-)

    Un saludo

    Raúl

  6. Pau Sanchez
    26/01/2009 at 4:27 am Permalink

    Lo de los literales debería ser algo como sustituir la cadena de “Links” por el siguiente código (en el archivo de sidebars):

    < ?php
    global $locale;
    switch($locale) {
    case 'es': echo 'Enlaces'; break;
    case 'en':
    default: echo 'Links'; break;
    }
    ?>

    No se realmente si en $locale pondrá “es”, “ES” o “es_ES” o similar, pero vamos, en teoria debería funcionar.

    Acabo de echarle un vistazo al link, tiene buena pinta ;)
    Suerte!

  7. aitka
    18/06/2009 at 2:57 am Permalink

    Gracias!!!

    Es genial!, me has salvado la vida

    :D

  8. beatriz
    15/07/2009 at 9:53 am Permalink

    Hola,
    Yo tengo un problemilla con este plugin. Lo he instalado ya en 3 sitios diferentes y ahora en la tercera no me chuta bien. No coje el permalink del idioma. Por ejemplo, si le pongo “en” para el inglés me salta una pagina 404 No encontrado pero si le pongo ?lang=en si funciona.
    Y esto mientras tenga los permalinks seleccionados por defecto, como le ponga los personalizados no chuta nada, pero ni el español.
    No sé a que es debido, puede ser por la version del wordpress? estoy trabajando con la 2.8

    Gracias de antemano

    Bea

  9. Pau Sanchez
    18/07/2009 at 12:08 am Permalink

    Hola Bea,
    No se que puede estar pasando. De todos modos recuerdo que cuando cambié la versión de wordpress a 2.8 tuve que actualizar también el plugin porque me daba problemas, aunque no recuerdo exactamente que problemas me dio.

    ¿Te has actualizado a la última versión del plugin?

    Un saludo!

  10. afarras
    11/12/2009 at 2:50 am Permalink

    Buenos días,

    Estoy probando de instal·lar zdmultilang en mi sitio y me da problemas. No me traduce los posts. Creo un post en español, y luego voy a traducciones y hago su traducción al inglés, y cuando le doy a “Save” me vuelve a poner todos los campos en blanco y no me guarda nada en la base de datos, no me lo traduce.

    Alguna idea?

    gracias

  11. Pau Sanchez
    12/12/2009 at 12:09 am Permalink

    Tal vez no se haya instalado bien, has mirado si en la base de datos ha creado nuevas tablas?

  12. afarras
    14/12/2009 at 6:52 am Permalink

    No sé como solucionarlo. Las tabals se han creado, y he probado de introducir contenido directamente des del phpmyadmin.

    Aun así, cuando entro en el post del idioma por defecto veo las banderitas de los otros idiomas, pero cuando entro, el link cambia, pero el contenido de la pagina sigue siendo el mismo (el titulo i el cuerpo del post es el del idioma original)

    O sea, tengo dos problemas, el primero es que las traducciones no se graban en la base de datos (luego de intervenir yuo manualmente si que funionan, pero para un nuevo post no, hasta que yo no entro en alguna de sus traducciones y cambio algo en el MySQL), y el segundo es que una vez grabadas las traducciones de los psots (y en estado published), estas no se visualizan

    a ver si se os ocurre alguna solución, muchas gracias

    anna

Trackbacks

  1. [...] Hace tiempo que uso el plugin de wordpress ZdMultilang para escribir en varios idiomas. [...]

Hi Stranger, leave a comment:

ALLOWED XHTML TAGS:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Subscribe to Comments