Varios idiomas en WordPress con qTranslate

qtranslate
Si necesitas una web en varios idiomas, el plugin qtranslate para wordpress te será de gran utilidad.

Es un plugin muy fácil de utilizar. Hay otros plugins que te pueden servir para hacer prácticamente lo mismo. Por ejemplo tenemos el famoso WPML, pero éste es de pago.

Si necesitas una solución gratuita, el plugin qtranslate es el tuyo.

Puedes ver un ejemplo de web desarrollada con este plugin, en esta web que desarrollé no hace mucho: www.ekoetxe.com, y en algunas más que puedes ver en mi web donde ofrezco mis servicios de diseño y desarrollo web.

En este artículo veremos algunos de sus aspectos más importantes.

Lo primero que tenemos que hacer es descargarnos e instalar el plugin en la web. Para ello vamos a “PLUGINS – Añadir nuevo”.

Buscamos “qtranslate” y lo instalamos.

Por defecto vienen 3 idiomas marcados, pero podemos instalar y habilitar los idiomas que queramos. Para ello lo que tenemos que hacer es subir por ftp los archivos de idioma .po y .mo.

Para habilitar idiomas, simplemente debemos ir a “Ajustes – Idiomas” y habilitarlo. Arriba del todo, podrás cambiar el orden de los idiomas y definir el idioma por defecto.

Para añadir un idioma en el que por defecto no viene cargada la bandera, simplemente debemos subir la bandera en .png a la carpeta correspondiente dentro del plugin via ftp y luego añadir la información de los campos.

Una vez entramos en el desarrollo de la web, para añadir el selector de banderas simplemente debemos poner:

<?php echo qtrans_generateLanguageSelectCode($type); ?>

Sustituyendo “$type” por “‘image’” en el caso de querer poner sólamente las banderas, “‘both’” en el caso de querer poner texto y bandera, y “‘text’” en el caso de querer poner sólamente texto.

Para modificar el texto de widgets, título del blog, utilizaremos:

[:es]Texto en castellano[:en]Texto en Inglés

Para modificar texto en archivos .php:

<?php _e("<!--:es-->Texto en castellano<!--:--><!--:en-->Texto en Inglés<!--:-->"); ?>

Para cambiar una imagen dependiendo el idioma:

<?php
  if(qtrans_getLanguage() == "es") {
echo    "<img src=\"" .  get_bloginfo('stylesheet_directory') . "/images/nombre_imagen_es.jpg" />"   ;
}
?>
 
 <?php
  if(qtrans_getLanguage() == "en") {
echo    "<img src=\"" .  get_bloginfo('stylesheet_directory') . "/images/nombre_imagen_en.jpg" />"     ;
}
?>

Para cambiar un archivo Javascript según el idioma:

<?php
  if(qtrans_getLanguage() == "es") {
echo    "<script src=\"" .  get_bloginfo('stylesheet_directory') . "/js/jquery.archivo_es.js\" type=\"text/javascript\"></script>"   ;
}
?>
 
 <?php
  if(qtrans_getLanguage() == "en") {
echo    "<script src=\"" .  get_bloginfo('stylesheet_directory') . "/js/jquery.archivo_en.js\" type=\"text/javascript\"></script>"   ;
}
?>

Una vez implementado todo, sólamente nos quedaría cambiar el aspecto de las banderas o enlaces. Para lo cual podemos averiguar el nombre de las clases css mediante firebug sin ningún problema.

Espero que os haya sido de ayuda. No dudéis en comentar si tenéis alguna duda y compartir si os ha sido de utilidad.