miércoles, 23 de septiembre de 2009

Internacionalización (y III). Moodle.

En Moodle la corrección de los errores de internacionalización es mucho más sencilla, ya que se puede hacer directamente desde Moodle como administrador y que, además, habitualmente se trata de literales que no se encuentran en los ficheros de recursos (o, como se prefiere en la terminología Moodle, paquetes de idioma).
El primer paso es instalar el o los paquetes de idiomas que nos interesen y, desde la administración del sitio, seleccionar la opción de edición del idioma, indicando con el que vamos a trabajar. La figura muestra un ejemplo para el idioma Español:

Una vez aquí, nos interesará saber qué literales están sin traducir. Para ello, seleccionaremos la opción de Revisar las cadenas (strings) perdidas, lo que nos llevará a la siguiente pantalla:

Y ahora viene en donde, en mi opinión, Moodle es superior a Sakai. Llega la hora de poner solución a las cadenas perdidas. Para ello, hay que ir a la opción de Editar palabras o frases y seleccionar, para los idiomas de interés, el módulo/bloque/actividad de Moodle que se quiera revisar. Automáticamente, aparece en pantalla un formulario en el que se muestran la frase original (en inglés) y una caja de texto en donde se nos pida que introduzcamos la traducción en el idioma deseado. La figura aclara estos conceptos:

Con los ficheros de ayuda, ocurre exactamente lo mismo. Desde el propio Moodle, el administrador puede traducir los ficheros para cada bloque/actividad y para cada idioma:

Como vemos, cuando el problema es que faltan literales en los paquetes de idiomas, en Moodle resulta mucho más sencillo cambiarlos que en Sakai. Sin embargo, si el error fuera que el texto está fijo en el código fuente, habría que parametrizarlo de manera muy similar.
En primer lugar, tendríamos que incluir el literal en los ficheros de los paquetes de idiomas. Para ello, abrimos el fichero de un módulo correspondiente al idioma por defecto (el inglés) e incluimos una nueva entrada. Por ejemplo, supongamos que hemos creado un bloque propio de nombre mibloque. Tendríamos que tener un fichero {moodle.root}/blocks/mibloque/lang/en_utf8/block_mibloque.php en el que incluyeran todas las cadenas que se muestran al usuario con el formato

$string['micadenadetexto'] = 'Aquí va el texto';


Una vez incluida esta entrada, cuando queramos mostrar al usuario esa cadena, debemos utilizar el siguiente código:

<?php print_string('micadenadetexto', 'block_mibloque'); ?>

No hay comentarios:

Publicar un comentario