Idiomas y traducción con Drupal 7

Activación y configuración de idiomas

En la unidad 3 (Administración), en el apartado de Traducir interfaz, vimos cómo instalar el idioma español durante la instalación de Drupal. En el caso que quisiéramos traducir la interfaz a un nuevo idioma, seguiremos los siguientes pasos:

Paso 1.  Desde Administración->Configuración->Idiomas podrá activar o desactivar los idiomas instalados.


Por ejemplo, si el sitio web va a estar sólo en español, podemos desactivar el idioma inglés. También seleccionaremos el idioma predeterminado del sitio (en nuestro caso el español).

El botón Agregar idioma permite añadir un idioma existente de la lista mostrada El idioma añadido estará disponible junto al resto de idiomas. Seleccionaremos el idioma italiano.

También es posible agregar un idioma personalizado rellenando correspondientemente los campos del siguiente formulario

Paso 2. La acción de Agregar idioma no incluye la traducción en sí. Sólo se trata de "dar de alta el idioma" en el sitio para que esté disponible y podamos añadir las traducciones correspondientes.
Por tanto, después de agregar el idioma, el siguiente paso es localizar, descargar e importar las traducciones del núcleo para el nuevo idioma.
Las traducciones se descargan desde la página oficial de traducciones de Drupal: https://localize.drupal.org

Paso 3. Localizaremos en esta lista el idioma que estamos añadiendo al sitio y, haciendo clic en su nombre, llegaremos a la página de traducciones del idioma. Descargaremos la última versión disponible del idioma para Drupal 7 haciendo clic en el botón Download correspondiente. Se descargará en nuestro equipo un archivo .po, preparado para ser importado en nuestro sitio.

Los archivos .po se utilizan para importar las traducciones, pero una vez cargados en el sitio, la traducción de términos se realiza realmente a partir de la base de datos y no mediante la lectura directa de los archivos.

Paso 4. Desde Administración->Configuración->Traducir interfaz, cargaremos el archivo .po descargado que contiene las cadenas de traducción de la interfaz de nuestro sitio.

  • En Archivo del idioma seleccionaremos el archivo descargado en nuestro equipo.
  • En el desplegable Importar en, indicaremos el nuevo idioma que hemos añadido, que debe coincidir con el idioma del archivo descargado.
  • En la opción Modo podemos elegir:
    • Los textos del archivo subido reemplazarán a los existentes, los nuevos se añadirán. Las formas plurales se actualizarán.
    • Se mantendrán los textos y plurales existentes. Sólo se añadirán los textos nuevos.

Si hemos realizado traducciones manuales en nuestro sitio, se recomienda utilizar siempre la segunda opción, para que nuestras traducciones no se reemplacen.


Una vez completados estos campos realizaremos la importación del idioma haciendo clic en Importar. El sistema nos indicará si la traducción se importó correctamente, informándonos del número de cadenas añadidas, actualizadas y eliminadas. En el listado de idiomas se mostrará el total de cadenas del idioma y el porcentaje de textos traducidos.

 

Traducciones de los módulos

Las traducciones de los módulos también están disponibles en localize.drupal.org.  Para llegar hasta estas traducciones haremos clic en el siguiente enlace:

http://localize.drupal.org/translate/downloads

Por ejemplo si queremos traducir el módulo ya instalado wysiwyg al español, en el campo pick a project (módulo) escribiremos wysiwyg y buscaremos en la lista que se genera el idioma español (spanish) según la versión de nuestro Drupal.

Descargamos el archivo *.po en nuestro servidor y procedemos de la misma forma que el paso 4 del apartado anterior. Si la traducción del módulo se importó correctamente, se nos informará con un mensaje de texto.

En la captura siguiente se puede comprobar que la interfaz del módulo wysiwyg se tradujo al español.
 

Detección y selección del idioma en el sitio

Para poder añadir en el sitio un selector de idioma, primero debemos establecer la política de detección y selección del idioma, desde:
Administración->Configuración->Idiomas

Las opciones disponibles son:

  • URL. Determina el idioma a partir de la URL, ya sea por prefijo de ruta o por dominio
  • Sesión. Determina el idioma a partir de un parámetro de petición o sesión. Éste será el método utilizado por el bloque alternador de idioma, que activaremos a continuación. Al realizar un cambio en el selector, el bloque envía la petición de cambio de idioma y el nuevo parámetro se almacenará en sesión.
  • Usuario. Mostrará el idioma seleccionado por el usuario en su perfil.
  • Navegador. Mostrará el idioma según la configuración del navegador.
  • Predeterminado. Usa el idioma que hayamos establecido como predeterminado del sitio (idioma español).

Podremos activar varios métodos de detección del idioma. Si activamos varios métodos, la detección del idioma se realizará siguiendo el orden de los mismos. En cuanto el sistema detecte el idioma, dejará de comprobar los métodos restantes.
Por ahora utilizaremos el método Sesión, que nos permitirá utilizar el Bloque Alternador de idioma y probar el funcionamiento de la traducción.

Bloque alternador de idioma

El bloque Alternador de idioma estará disponible, aunque inicialmente desactivado, en la administración de bloques del sitio.
Activando este bloque se mostrará un selector desde el que podremos cambiar el idioma del sitio.
Es importante saber que este bloque solamente se muestra si hay al menos dos idiomas habilitados y la negociación de idioma está establecida en URL o sesión.
Ten en cuenta que por este método sólo se traduce la interfaz, y no los contenidos del sitio (nodos, menús, taxonomía, etc.). En el Nivel Intermedio estudiaremos cómo traducir todos los elementos del sitio para construir un sitio con múltiples idiomas.

Traducción de cadenas

Nos podemos encontrar que parte de la interfaz de nuestro sitio no esté completamente traducida. Drupal extiende una herramienta para ayudar a las traducciones de nuestra interfaz.

Desde Administración->Configuración->Traducir interfaz, en la pestaña Traducir nos da la opción de buscar las cadenas a traducir, con la posibilidad de restringir la búsqueda mediante los siguientes filtros:

  • El texto contiene. Se debe introducir toda o parte del texto que se está buscando. Hay que tener en cuenta que se trata de una búsqueda sensible a mayúsculas y minúsculas, por lo que los resultados al buscar "Page" o "page" serán totalmente diferentes.
  • Idioma. Se pueden seleccionar todos los idiomas o un idioma en particular. Se trata del idioma que contiene la cadena buscada.
  • Buscar. Permite buscar todas las cadenas (traducidas y no traducidas), sólo las traducidas o sólo las no traducidas.
  • Limitar búsqueda a. Permite buscar en todos los grupos de texto, o sólo en el grupo seleccionado. En principio tanto el núcleo como las traducciones de los módulos pertenecen al único grupo definido y llamado Interfaz incorporada, así que cualquiera de las dos opciones es válida.

Por ejemplo: Se ha encontrado que en el menú de filtros de usuario, en el apartado permisos hay un menú desplegable donde los ítems no están traducidos. En este ejemplo trataremos de traducir un ítem. Concretamente el view revisions del módulo node.

Des de Administración->Configuración->Traducir Interfaz, en su pestaña Traducir filtraremos el texto por la cadena conocida "view revisions"
 

Presionaremos sobre el enlace editar y escribiremos las traducciones tanto en español como en italiano. A continuación presionaremos sobre el botón Guardar las traducciones.

A partir de este momento en el menú tratado se mostrará la traducción correspondiente.

Importar y exportar traducciones

Drupal, da la posibilidad de tanto de exportar como de importar traducciones personalizadas. Podemos por lo tanto exportar nuestras traducciones, tanto del núcleo como de los módulos, a modo que colaboración en la comunidad Drupal. Las traducciones añadidas pasarán a una cola de traducción, siendo los moderadores de la traducción los encargados de revisarlas y aprobarlas. Sólo cuando hayan sido aprobadas, las traducciones añadidas estarán disponibles para su descarga en el archivo .po correspondiente.

Para ello, primero nos tendremos que registrar en la comunidad Drupal desde el siguiente enlace:
http://localize.drupal.org/user/register


A continuación rellenaremos los campos de información personal de registro.


Una vez creada la cuenta y validada la misma mediante una confirmación vía e-mail, podremos unirnos al grupo de traducción de cualquier idioma, buscando el botón Join en la página principal del idioma.

 

Una vez unidos a un grupo de traducción, podremos ver las pestañas Import y Export.

La página que aparece podemos seleccionar la opción de traducción o bién de la versión del núcleo, o bién de un tipo de módulo. En ambos casos llegaremos a una página parecida a esta:

La cual dispone de un completo buscador para localizar las cadenas a traducir, por ejemplo las pertenecientes a un módulo en concreto. Haciendo clic en Reveal more filters se nos mostrarán más opciones de búsqueda.

Desde la pestaña Import podremos importar un archivo .po al proyecto. De esta manera se añadirán como sugerencias todas las traducciones nuevas que hayamos incorporado en este archivo. Esto puede ser útil si hemos traducido cadenas en nuestro sitio, mediante la herramienta Traducir interfaz, y queremos colaborar con el proyecto añadiéndolas en lote como sugerencias de traducción.


Desde la pestaña Export podremos seleccionar el proyecto y versión para el que queremos obtener la última traducción disponible, que obtendremos en un archivo *.po. Si seleccionamos el proyecto Drupal core podremos descargar la última versión de la traducción para el núcleo del sistema.


Lo realmente interesante de este método es que podemos descargar las sugerencias de traducción, que son las traducciones que aún no han sido aprobadas por un moderador. Esto nos permitirá tener una traducción más completa (en cantidad de textos traducidos). Por contra, podría contener errores de traducción.


Para exportar un archivo *.po con todas la traducciones de nuestro sitio y a su vez queremos compartirlas con la comunidad o importarlas a otro sitio web. Seleccionaremos la pestaña Exportar del enlace siguiente:
Administración->Configuración->Traducir interfaz.


También nos sirve para conservar un archivo *.po como copia de seguridad. Para hacer esto iremos a la pestaña Exportar y seleccionaremos el idioma que queremos exportar.

Actualización automática de traducciones

Existe la posibilidad de instalar y activar un módulo adicional para que las traducciones de actualicen automáticamente. Este módulo se llama Locale update y se puede descargar desde:

http://drupal.org/project/l10n_update

Una vez instalado, Drupal nos mostrará una nueva pestaña llamada Actualizar , la cual servirá para para descargar e instalar todas las traducciones disponibles, para los idiomas seleccionados de entre los idiomas activos en el sitio.

Se pulsará el enlace comprobar manualmente y el sistema buscará automáticamente las actualizaciones de traducción disponibles. En el caso que estés correctamente actualizadas Drupal nos informará de ello.

Desde el enlace Update settings page, además, se podrá configurar el sistema de actualización de las traducciones.

 

Tags: 

Tema: