multi-idioma

Multi-idioma | Configuración en Drupal 9 (Parte 2)

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

        Continuando con las configuraciones, para hacer que nuestro sitio con Drupal 9, esté disponible para añadir varios idiomas, además de mostrar sus contenidos traducidos, menús, bloques, etc, de cara al usuario. Vamos a repasar y corregir algunos detalles que queradon pendientes en el anterior capítulo.

     Cómo traducir títulos de las vistas

          En el anterior capítulo, estuvimos realizando los cambios necesarios, para que se mostraran nuestros productos, en varios idiomas, utilizando el selector ubicado en la parte superior de la web; pero si nos fijamos bien en el resultado obtenido, de inmediato, nos daremos cuenta, de que, a pesar de que podemos ver el nombre de cada categoría, en los diferentes idiomas, el título del bloque, sigue mostrándose en español.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

          Si hacemos clic sobre el editor en línea de Drupal, a la altura del título, veremos que nos muestran las opciones Configurar bloque y Traducir Bloque, pero si seleccionamos la segunda opción, nos encontraremos con la traducción correspondiente a la descripción del bloque, no a su título, que es lo que buscamos.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Se nos viene a la mente una idea interesante, donde la solución debería ser tan simple como, ir a nuestra url de administración de las Taxonomías en "/admin/structure/taxonomy/manage/categoria/translate", y a continuación traducir el vocabulario.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Pero si nos fijamos mejor, el nombre del bloque está el plural "Categorías" y nuestro vocabuliario está en singular "Categoría", entonces, ¿cómo hago para que se traduzca este título bloque?

     Si recuerdas, el listado de categorías está creado a partir de una Vista, de manera que, al igual que hicimos para habilitar que el contenido mostrado cambiara de acuerdo con la selección del usuario, al utilizar la interfaz; en este caso, tendremos que traducir el título de la vista y no del bloque. Para ello haremos clic sobre el selector que nos aparecerá justo encima de la vista y veremos una nueva opción "Traducir vista en contexto: tipo de entidad vista", que nos permitirá acceder específicamente a la traducción del título de esta vista.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Al hacer clic en esta opción, accederemos a una pantalla parecida al resto de contenidos, donde veremos el idioma original en que se creó el contenido y a continuación todos los lenguajes que hayamos activado en nuestra web.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Cómo traducir Bloques

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

        Ya hemos mencionado que en el caso de los bloques, al igual que con los Paragraphs, al funcionar como contenedores de contenido, su configuración para que puedan traducirse varía, con respecto al resto de los contenidos y tipos de Drupal.

        Vamos a realizar un ejemplo para que lo puedas ver más claro, añadiremos un bloque personalizado desde la interfaz, para ello iremos a la url "/block/add", y allí pondremos un título y algo de contenido, en español, sólo para comprobar si hemos entendido el proceso de traducción de los bloques correctamente.

      El resultado debería ser algo parecido a la siguiente imagen, en la que sólo hemos configurado un título en el idioma español, para el bloque y dentro de éste una pequeña frase, simplemente para que podamos realizar la prueba adecuadamente.

Bloque en español

ESTE ES EL CONTENIDO DE MI BLOQUE EN ESPAÑOL.

 

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Ahora que ya tenemos nuestro bloque personalizado creado y con contenido en Español, procedermos a realizar la traducción, repitiendo el proceso explicado al principio.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

     El problema, es que, una vez guardados los cambios, si vamos a la página principal, y seleccionamos otro de los idiomas que hemos añadido, veremos que sólo se ha traducido el título del bloque, ¿qué nos está faltando?

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

        La causa de que no veamos más opciones de traducción relacionadas con nuestro bloque personalizado, es porque tendremos que activarla en la Configuración Global de Traducciones, que ya mencionamos en el anterior capítulo, para ello, iremos a la url "/admin/config/regional/content-language", y comprobaremos que todavía no está activada la opción para habilitar la traducción de bloques personalizados.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

        Cuando hayamos activado esta opción, tendremos que desplazarnos, en la misma página, un poco hacia abajo, para encontrar todas las opciones disponibles, y podremos seleccionar entonces, cuáles serán los campos para los que necesitaremos traducciones.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

        Podremos seleccionar todos los campos o sólo aquellos con los que vamos a trabajar, de esta forma, una vez guardados los cambios, si volvemos a nuestros bloques personalizados, comprobaremos que existen nuevas opciones para trabajar con las traducciones independientes para cada uno de ellos. 

        Como en este caso, trabajaremos las traducciones de cada bloque personalizado, de forma individual y no global, tendremos que hacerlo desde la librería de bloques, accediendo a la url "/admin/structure/block/block-content", y una vez allí, seleccionaremos el bloque con el cuál trabajaremos y podremos así proceder con la traducción de sus campos.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

       Al seleccionar Traducir, en veremos que esta vez, podremos añadir los diferentes indiomas para el resto de campos, como el de descripción y el cuerpo de nuestro bloque.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony
Bloquer en espagnol

CECI EST LE CONTENU DE MON BLOC EN ESPAGNOL.

        Una vez hayamos concluido con todos los textos traducidos, a cualquiera de los idiomas que hayamos activado, podremos guardar los cambios y posteriormente comprobar que el resultado es el que esperábamos.

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Multilanguage Drupal  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Multi-idioma | Configuración en Drupal 9 (Parte 1)

Video de Youtube
URL de Video remoto

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

      Dentro de los requisitos más habituales en proyectos web realizados para grandes compañías, está la opción de poder crear y gestionar contenidos en varios idiomas. Esto les permite llegar a un mayor número de publico, además de facilitar, en algunos casos, las tareas de mantenimiento por parte del personal cuya lengua materna no sea el inglés.

     En las versiones anteriores a Drupal 8, teníamos que activar los módulos "Locale" y "Translation Content", además descargar los archivos de traducciones desde la página oficial de Drupal, y una vez descargados dichos archivos, importarlos dentro de nuestro proyecto para continuar con el proceso de adaptar nuestros contenidos a varios idiomas.

     A partir de la versión 8, el proceso de activación de las traducciones a todos nuestros contenidos se modificó considerablemente, ya que se incluyeron las novedades, como los "paragraphs" y bloques personalizados, que ofrecían grandes cambios en la creación, gestión y presentación de los contenidos, creando nuevas estructuras más complejas, que su inicio presentaron varios errores y limitaciones cuando se trataba de añadir otros idiomas al proyecto.

Cómo configurar tu web multi-idioma en Drupal 9    

     Por defecto, en Drupal 9, nos vienen integrados varios módulos relacionados con la gestión de idiomas y traducción, tanto de los contenidos, como de las configuraciones de la interfaz, para aquellos que gestionen el proyecto. Si necesitas añadir uno o varios idiomas a tu proyecto web tendrás que seguir los siguientes pasos:

     Paso 1 Activación de módulos para traducción:

     Los tres módulos encargados de activar las opciones para traducir tus contenidos, configuración de tu interfaz de usuario o añadir nuevos idiomas son

  • Language: que permite configurar los idiomas disponibles para el proyecto.
     
  • Configuration Translation: que amplia las opciones de traducción de los menús y otras opciones disponibles para el usuario gestor o editor.
     
  • Content Translation: que añade una nueva pestaña a tus contenidos, una vez hayas activado la opción los tipos de contenido que prefieras, para poder traducirlos según tus necesidades.

  • Interface Translation: al igual que el Configuration Translation, añade la posibilidad de traducir elementos de la interfaz de usuario.

Drupal 9 multilanguage  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Drupal 9 multilanguage  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Cómo añadir nuevos idiomas:

     Una vez activados los módulos del grupo Multi idioma, podremos comenzar a añadir todos los idiomas que necesitemos en nuestro proyecto. Para ello, iremos a la url "/admin/config/regional/language", y desde allí podremos añadir los idiomas desde el botón "Agregar idiomas".

Drupal 9 multilanguage  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Drupal 9 multilanguage  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Drupal 9 multilanguage  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Cómo habilitar las traducciones para nuestros contenidos:

     Una vez añadidos los idiomas adicionales para nuestra web, podremos configurar cuáles contenidos y tipos de contenidos estarán disponibles para su traducción, esto incluye los bloques, taxonomías, elementos de menús personalizados, etc.

     Para acceder a la pantalla donde podremos configurar estas opciones, debemos dirigirnos a la url "/admin/config/regional/content-language", y en la parte superior izquierda de la pantalla, veremos el listado de todos los contenidos disponibles en nuestro proyecto, donde una vez seleccionados, serán añadidos en el listado que se muestra justo debajo de estos, para poder activar los demás elementos que podrían estar relacionados con ellos.

Drupal 9 multilanguage  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Drupal 9 multilanguage  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Cómo traducir Paragraphs:

    En el caso de los Paragraphs, con relación a la traducción de los contenidos, tendremos que habilitarlos desde la misma pantalla, pero no haremos clic en el botón de guardar que están en la parte inferior, hasta que hayamos seleccionado todos los elementos relacionados con ellos.

Drupal 9 multilanguage  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Una vez hallamos activado los elementos y tipos de contenidos que deseamos estén disponibles para ser traducidos, si volvemos a la pantalla de edición de cualquiera de ellos, veremos una nueva pestaña traducir y una vez hagamos clic sobre ella, nos creará una copia exacta del contenido original y podremos comenzar a sustituir los textos por los del nuevo idioma.

Drupal 9 multilanguage  | www.drupaladicto.com - Consultor especializado en drupal y symfony

Cambiar el nombre del idioma en in language switcher (English > En)

Al instalar nuestro sitio multi-idioma en Drupal, en algunos casos nos encontraremos con la necesidad de que el selector de idiomas (Language Switcher), que viene con Drupal, muestre los nombres abreviados para cada indioma, ya que por defecto mostrará su nombre completo. En principio, para cambiarlo sólo deberíamos acceder a la url de configuración del módulo Language, previamente activado, accediendo a "/admin/config/regional/language" y allí seleccionar EDITAR y cambiar el nombre del idioma Ej. English a EN, pero esto no funciona correctamente y sólo te cambia el resto de los idiomas.

Para solucionarlo, tendremos que añadir en nuestro archivo TUTEMA.theme, la siguiente función, cambiando sólamente en nombre equivalente a tu tema.