Traducción de los contenidos en los bloques

El módulo i18n de Drupal puede traducir los contenidos que se encuentran en los bloques.

Para poder visualizar bloques en idiomas múltiples, puedes utilizar uno de los siguientes métodos:

  1. Crear un bloque diferente para cada idioma.
  2. Usar localización por segmentos.

Cuando creas un bloque, puedes elegir entre asignarlo a un idioma específico o asignarlo a todos los idiomas usando la traducción por segmentos.

Método 1: Diferentes bloques para cada idioma

Selecciona un único idioma para el bloque e indica en qué nodos visualizarlo. Debes seleccionar únicamente aquellos nodos que estén escritos en el mismo idioma que el bloque.

Luego, crea bloques similares en otros idiomas y actívalos para los nodos en dichos idiomas.

Este proceso mantendrá un aislamiento total entre bloques que estén en diferentes idiomas. Podemos tener traducciones entre bloques, pero es posible que estas traducciones contengan contenidos totalmente independientes. Drupal y el módulo i18n no ofrecen ninguna herramienta que permita sincronizar los contenidos de los bloques que se encuentran en diferentes idiomas.

Método 2: Localización por segmentos

Drupal puede traducir segmentos del inglés a otros idiomas (por ahora, no existe la posibilidad de traducir desde un idioma que no sea el inglés). Puedes pedir que Drupal maneje el título y los contenidos de los bloques como si fueran segmentos y que busque traducciones utilizando el mecanismo de traducción por segmentos de Drupal.

Cuando un bloque se visualiza en un idioma diferente, Drupal busca en el título y en el contenido del bloque las traducciones por segmentos que estén disponibles. Si hay alguna traducción por segmento disponible, ésta se visualizará, de lo contrario lo que se visualizará es el texto original.

Para utilizar este método, debes seleccionar la opción "Todos los idiomas (traducible)" -"All languages (Translatable)"- al momento de crear o editar un bloque.

bloque traducible

NOTA: Un aspecto importante a tener en cuenta cuando se utilice este método es que el idioma por defecto debe ser Inglés. Drupal localiza estos segmentos con la función t(), pensada para ser solicitada cada vez que un módulo produce un segmento en inglés.

Aquí tenemos un ejemplo. Crearemos un bloque nuevo y traduciremos sus segmentos.

Crea el bloque y selecciona 'Todos los idiomas (Traducible)' - 'All languages (Translatable)'

crea un bloque

Elige dónde se visualizará el bloque

Este bloque lo visualizaremos en la barra lateral derecha. La posición de visualización no tiene ninguna importancia y no es necesario que el bloque se visualice para que pueda ser traducido.

bloque en barra lateral derecha

Ahora lo vemos de la siguiente forma:

bloque de la página de inicio

Al seleccionar el idioma español, se puede ver el bloque pero sin la traducción.

bloque no traducido

Ingresar manualmente las traducciones de los contenidos en los bloques

Los segmentos del título y del contenido se traducen utilizando la interfaz de traducción (translate interface).

Ve a /admin/build/translate/search y busca los segmentos utilizados en el bloque.

búsqueda de bloque

Haz clic en "Editar" e ingresa la traducción.

bloque ingresar traducción

Repite el mismo procedimiento para el contenido del bloque buscando algún texto en dicho contenido.

Ya cuentas con un bloque íntegramente traducido en la página de inicio en español.

 

bloque traducido al español

 

 

 

Traducir bloques con ICanLocalize Translator

ICanLocalize Translator maneja la traducción de bloques utilizando el mecanismo de traducción por segmentos de Drupal.

Aunque internamente los nodos y los bloques se construyen de manera diferente, ICanLocalize Translator hace que la traducción se vea de la misma manera para el usuario.

Los bloques aparecerán en el panel de control para las traducciones como cualquier otro tipo de contenido. De manera interna, ICanLocalize Translator buscará los segmentos creados por los bloques en Drupal y devolverá los contenidos traducidos como traducciones por segmentos. Los usuarios no tienen que manejar ésto de modo manual ya que el módulo maneja todo de manera automática.