miércoles, 11 de diciembre de 2013

WordPress Plugin - Qtranslate, la clave multidioma

Lo primero es descargarse el plugin, he instalarlo (yo siempre lo suelo hacer mediante el cliente FTP)
Enlace de descarga en repositorio oficial de wordpress

El siguiente paso es poner activo y como predefinido el Español.
Lo siguiente confirmar que las URL's estan con el formato deseado

Es muy posible que la última versión no funcione en tu instalación de WordPress, aquí va un enlace a la última versión en desarrollo, y a la tabla de equivalencias entre versiones de wordpress y versiones de qtranslate:
Tabla de versiones

Para la cuestión de añadir idiomas que no estan por defecto, enlace a la tabla de códigos para poner en el formulario de creación
Códigos de idiomas

Ya está listo para empezar a  poner nuestra web primero:
  • Contenido: es bastante sencillo, hay que rellenar en cada campo (título y contenido) en su respectivo idioma, viene bien, porque esto será lo que tendrán que ir traduciendo cada administrador del contenido futuro en la web, que se pretende que no sea el mismo que su creador, ahí la gracia de usar wordpress.
  • Widgets, menus, título/descripción de la web y demás datos puestos desde la administración, habrá que separar las traducciones mediante el uso de [:ID], para muestra un botón: [:es]Esto es Esparta[:ca]Això es Esparta[:en]This is Esparta
  • Contenido de la plantilla: Es la parte más usado para los desarrolladores, un poco más larga, pero que sólo habrá que usar en el momento del desarrollo de la web,y  más tarde en la creación de algún widget o plugin necesario, aquí va otro "botón": <code><?php echo "<!--:es-->Esto es Esparta<--:--><!--:en-->This is Esparta<--:--><!--:ca-->Això es Esparta<--:-->" ;?></code>
Selector idioma en la web hay 2 maneras:
  1. Usar el widget por defecto, con opciones básicas de mostrar nombre, bandera o ambas
  2. Crearlo por código, con un poco de html y css, es simplemente poner enlaces según la opcion que elijamos en  "Configuraciones Avanzadas --> Modo de modificación de URL" y ya darle la funcionalidad/apariencia que queramos.
Con esto en principio ya tenemos todo listo para que nuestra web se visualize en los idiomas que queramos.

Un punto que he visto en un post de Creativasfera (por cierto, blog muy recomendado de seguir), lo añado aquí, sería para elegir que código ejecutar según el idioma en el que estés, usa el ejemplo del logo
<code>
 <?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" />"     ;
}
?>
</code>

Esto se podría incluso a cargar distintas cabeceras
<code>
 <?php 
  if(qtrans_getLanguage() == "es") { get_header();
}
?>
 <?php 
  if(qtrans_getLanguage() == "en") { get_header("ingles"}
?>
</code>Y a partir de ahí, pues distintas zonas de widgets, etc, hasta lo que se te ocurra.
Enjoy it!