Traducción de los contenidos en los bloques, ¿por idioma o por segmentos?

Al construir ICanLocalize Translator aprendimos un par de cosas sobre la traducción de bloques en Drupal.

Si tu sitio multilingüe en Drupal contiene bloques, puedes adoptar cualquiera de estos dos métodos:

  1. Bloques individuales para cada idioma.
  2. Un bloque para todos los idiomas, traducido utilizando la opción de localización por segmentos.

 

Método 1: Bloques individuales para cada idioma

Los nodos de Drupal se crean por idioma. Cada nodo incluye contenidos en un único idioma, el módulo i18n une estos nodos de acuerdo a grupos de traducción, es decir, grupos con un mismo contenido en diferentes idiomas.

Sería lógico seguir el mismo método en lo que respecta a los bloques. Lo que harías sería crear bloques múltiples, le asignarías a cada uno de ellos un idioma y lo activarías para los nodos que estén en ese mismo idioma.

El inconveniente de este método es que los bloques se duplican y Drupal no cuenta con un mecanismo que sincronice la traducción de bloques. A diferencia de los nodos, para los cuales el módulo i18n proporciona una agrupación por idiomas y hace que sincronizar contenidos sea una tarea fácil, la traducción de bloques es un proceso manual.

Si creas una versión del mismo bloque para cada idioma, deberás manejar cada versión tu mismo sin ayuda del módulo i18n.

Ventajas:

  1. Cada bloque en cada idioma es independiente, por lo tanto tienes el control absoluto sobre cómo usar el bloque.

Desventajas:

  1. La cantidad de bloques a manejar es mayor. Si tienes 7 bloques originales y 5 idiomas, terminarás teniendo un total de 35 bloques para manejar.

 

Método 2: Un bloque para todos los idiomas, traducido utilizando la opción de localización por segmentos

Crearás una única versión de cada bloque, la cual se visualizará en todos los idiomas. Los contenidos del bloque se traducirán 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 disponible, se visualizará dicha traducción, de lo contrario se visualizará 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. Luego utiliza la interfaz de traducción para buscar el texto del bloque y suministrar el texto traducido. Una vez que has ingresado traducciones, Drupal hará que éstas se visualicen, en lugar de que se visualice el texto original.

bloque de la página de inicio

bloque traducido al español

Si has configurado los bloques para que se visualicen sólo en determinados nodos, deberás agregar los nodos traducidos a la lista de nodos en "Opciones de visibilidad específicas de la página" ("Page specific visibility settings" ) al editar un bloque. Si quieres que un bloque se visualice únicamente en la página de inicio (por ejemplo, nodo/23), deberás agregar el nodo traducido, el cual podría ser nodo/56 en la lista de visualización.

Entonces, la lista de nodos que permite visualizar el bloque sería:

  • nodo/23 (el nodo en inglés)
  • nodo/56 (la traducción del nodo/23)

Los bloques no necesitan que los textos sean simple, pueden contener códigos HTML y PHP. Pueden contar con enlaces a otros contenidos. Hay que tener especial cuidado al traducir estos contenidos para asegurarse que los enlaces se dirigen al correspondiente contenido traducido, si es que está disponible.

Ventajas:

  1. Sólo debes manejar un bloque.
  2. La tarea de manejar en qué páginas se debería visualizar un bloque es más sencilla.

Desventajas:

  1. El idioma por defecto debe ser inglés y el texto del bloque original debe estar en 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.
  2. Si no se proporcionan traducciones por segmento lo que se visualizará es el bloque en su idioma original.
  3. La traducción de bloques complejos es más difícil. La localización de segmentos de Drupal dificulta la edición de códigos HTML.

 

El modo en que ICanLocalize Translator maneja la traducción de bloques

Para ICanLocalize Translator decidimos traducir los bloques utilizando el método de localización por segmentos. Es un método un poco complejo cuando se lleva a cabo de modo manual, pero como el módulo maneja todo, la complejidad queda oculta a los ojos del usuario.

El módulo trabaja de la siguiente manera:

  • El título y el contenido son enviados a nuestro servidor y luego a traductores humanos, posteriormente las traducciones realizadas se agregan automáticamente a las traducciones por segmentos.
  • Los nodos traducidos se agregan a la lista "Opciones de visibilidad específicas de la página" ("Page specific visibility settings"), de modo que el bloque queda visible u oculto en cualquiera de los nodos traducidos según corresponda.
  • Los nodos traducidos también se agregan a "Opciones de visibilidad específicas de la página" ("Page specific visibility settings") a medida que nuevas traducciones para los nodos estén disponibles.
  • Los enlaces a diferentes contenidos también se dirigen hacia los contenidos traducidos si es que éstos ya están disponibles.
  • Se rastrea cualquier cambio efectuado al bloque original para que de este modo las traducciones siempre estén actualizadas.
  • Los bloques se visualizan en el panel de control para las traducciones como los demás tipos de contenido.

Esto quiere decir que el usuario puede considerar los bloques como si fueran nodos. Los usuarios sólo tienen que manejar los contenidos en su idioma original y ICanLocalize Translator se encargará de todo lo que sea necesario para realizar las traducciones y mantenerlas actualizadas.

El Panel de Control para las Traducciones (Translation Dashboard) también hace que sea sencillo obtener un panorama de todos los contenidos, incluyendo nodos y bloques, que deben ser traducidos y los envía inmediatamente.

Comentarios

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options