Módulo de multi-idioma
Hoy os queremos hablar de nuestro módulo de multi-idioma, un un acelerador funcional diseñado por el grupo de Arquitectura de Minsait con la posibilidad de ser integrado en cualquier proyecto. A continuación vamos a detallar su funcionalidad.
¿Para qué sirve?
La necesidad de preparar nuestros negocios digitales y por lo tanto nuestros productos a los diferentes idiomas que puedan hablar nuestros clientes, acarrea el diseño de nuestras soluciones contemplando el multi-idioma de las mismas, y en la mayoría ocasiones con una cobertura o experiencia destinada a usuarios no técnicos, es decir, que se puedan cambiar o añadir idiomas del producto sin la necesidad de un usuario técnico y sin la necesidad de cambios o redespliegues del software.
El modulo multi-idioma tiene como objetivo el preparar nuestros negocios digitales -y por lo tanto nuestros Productos- para los diferentes idiomas que puedan hablar nuestros clientes. Esto nos va a permitir incluir desde el diseño de nuestras soluciones la gestión de los idiomas de las mismas desde un modulo web con UI destinado a usuarios no técnicos, habilitando el canal para cambiar o añadir idiomas del Producto sin la necesidad de cambios o redespliegues del software.
Por este motivo se dispone ese modulo enfocado al grueso de la necesidad multi-idioma de una producto web, que son los labels de los UI de nuestro producto.
Características
Este módulo cuenta con las siguientes características:
- No requiere conocimiento técnico: pues desde una consola se podrá configurar los strings de texto para cada idioma requerido.
- Integración a través de API REST: para su consumo directo.
- Cambios instantáneos y dinámicos: todos los cambios que se hagan en los strings de idiomas se verán reflejados inmediatamente en la parte Front-End.
¿Cómo funciona?
Una vez que el usuario se ha dado de alta y registrado en la aplicación, en la parte izquierda contamos con un menú con diversas opciones:
A continuación vamos a ver en qué consiste cada opción.
Scopes
Dentro de los «Scopes» encontraremos todos los productos o módulos disponibles en la base de datos. Para acceder a uno de ellos únicamente, tendremos que hacer clic sobre su nombre, y de esta manera accederemos a los distintos módulos del mismo.
Una vez que hayamos pulsado encima del producto/módulos, accederemos a los distintos módulos que haya creados del mismo. Por ejemplo, en el caso de Smartcities – CLM, veríamos lo siguiente:
Creación de módulos
Para crear un nuevo módulo, deberemos pulsar sobre el botón «New module» situado en la parte superior derecha y rellenar los campos especificados en la imagen:
- Id: identificador del vertical. Debe ser único.
- Name: nombre asociado al vertical.
- Description: una descripción del vertical.
- Group: grupo dentro del producto donde se insertará el vertical. Si se escoge uno que no exista se creará un grupo nuevo.
- Icon: icono asociado al vertical.
Una vez cumplimentados todos los campos, deberemos pulsar el botón «Save changes» para guardar los cambios.
Eliminación de módulos
Para eliminar un módulo, pulsaremos en el botón «Delete Module». Nos saldrá un modal de confirmación para asegurarnos de que queremos borrar el módulo.
Gestión de traducciones
Una vez hemos creado el módulo, podremos acceder al mismo pulsando sobre el botón «Access this module». Dentro del mismo, pulsamos sobre el botón «New Area» y seleccionamos la siguiente opción:
Creamos el área de traducciones. Pulsando sobre el botón «Translations» que se habrá generado al guardar los cambios, podremos crear los distintos pares clave valor para las distintas utilidades que le queramos dar.
Crear traducciones
Pulsando sobre el botón «New translations» podremos crear un nuevo par clave valor, rellenando el formulario de la siguiente manera:
- Key: clave asociada a una traducción. Esta debe ser única.
- Name: nombre común que le queremos dar a la traducción
- Type: especificación del tipo de traducción.
- Widget: hay tres opciones entre las que elegir:
- Textbox: sirve para especificar traducciones de una palabra.
- Textarea: sirve para asociar traducciones compuestas como por ejemplo frases.
- Textunit: sirve para especificar tanto el singular como el plural de una palabra.
Una vez hayamos completado los campos tendremos dos opciones posibles:
- Pulsar el botón «Save changes», que nos permitirá seguir creando claves para las distintas traducciones.
- Pulsar el botón «Save & Exit» que nos permitirá salir de la ventana una vez guardado el cambio.
Realizados todos los pasos anteriores, nos aparecerá en la tabla inferior el elemento creado:
Para editar los valores asociados a esa clave deberemos pulsar en el icono del lápiz situado en la parte inferior de «Edit Language», apareciendo así la tabla que deberemos rellenar con los distintos valores:
Una vez los hayamos rellenado pulsamos el botón de «Save» para guardar así los cambios.
Pulsando en el botón podremos encontrar la manera de obtener las traducciones asociadas a un módulo. Para este caso concreto, si queremos devolver todos los pares clave valor existentes para un idioma concreto en formato JSON deberemos llamar a la siguiente URL:
// Para el idioma, utilizaremos su código ISO 639‑1 (es, en, pt, etc.)
[HOSTPORT] + /ibe/rest/scopes/elal/modules/prueba5/translations/[language]
Esto nos devolverá el objeto de traducción en el idioma seleccionado:
Borrar traducciones
Para borrar una clave y sus traducciones asociadas, simplemente habrá que pulsar sobre el botón con el icono de la papelera que encontraremos a la derecha del todo de la fila de la clave que queremos eliminar y confirmarlo pulsando sobre el botón «Delete».
Modificar traducciones y gestión de versiones
Para editar los valores asociados a una clave, habrá que pulsar el botón con el icono del lápiz, cambiar el valor o los valores que deseemos y pulsar el botón «Save».
Si por algún motivo queremos volver a alguna de las versiones anteriores en algún valor que hayamos cambiado, deberemos pulsar en el botón con el icono del lápiz, y posteriormente el botón «Previous versions» que encontraremos al lado de cada valor y seleccionar la versión a la que queramos volver pulsando el botón «Rollback» y confirmarlo pulsando el botón «Rollback».
Settings
Para añadir o borrar los lenguajes que veremos en las traducciones, deberemos pulsar en «Settings > Languages», tal como podemos ver a continuación:
Añadir nuevo lenguaje
Para añadir un nuevo lenguaje, deberemos pulsar en el botón «New language», situado en la parte superior derecha de la ventana. Posteriormente nos aparecerá la siguiente ventana:
En esta ventana deberemos rellenar el id, el cual debe ser único para cada lenguaje y el nombre que queramos agregarle. Una vez hayamos cumplimentado los campos pulsamos el botón «Save» y confirmamos la operación.
Eliminar un lenguaje
Para eliminar un lenguaje debemos ir a la pestaña de «Languages» y deberemos clicar en la papelera situada a la derecha del lenguaje que queramos eliminar.
Como hemos visto, gestionar los idiomas de un proyecto es algo sencillo y rápido de preparar, pudiendo añadir nuevos idiomas fácilmente así como nuevos términos. Además, esta herramienta de tipo LowCode permite que personas no especialistas sean capaz de preparar la caracterización multilenguaje fácilmente.
Imagen de cabecera: Jeremy Bezanger en Unsplash