Este post forma parte de una serie de artículos donde estaré compartiendo todo lo necesario para utilizar, configurar y sacar el mayor provecho de Azure AD B2C.

En el post anterior (parte 1) vimos los conceptos principales relacionados a la configuración de idiomas, pero nos quedó pendiente la configuración de aquellos atributos de usuarios personalizados.

En esta segunda parte, veremos cómo configurar las traducciones para todos los atributos de usuario personalizados simples.

IMPORTANTE: vamos a construir sobre la base del post anterior, con lo cual es recomendable tener claros los conceptos y pasos allí detallados.

Contexto

Como vimos en la parte 1, todas las configuraciones inherentes a idiomas corresponden al flujo de usuario. Cada flujo de usuario esta compuesto por una o más pantallas, por ejemplo:

  • Inicio de sesión + recupero de contraseña.
  • Inicio de sesión + registro de usuario + recupero de contraseña

Todas las palabras y atributos de usuario estándares tienen su correspondiente traducción en forma predeterminada, sin embargo los atributos de usuario personalizados deben ser traducidos manualmente. Lo mismo sucede en aquellos casos donde queremos utilizar una traducción diferente a la estándar por cuestiones culturales idiomáticas.

Archivo de recursos de Azure AD B2C

Dentro de Azure AD B2C los archivos de recursos son archivos de texto en formato JSON donde se disponen todas las traducciones correspondientes a una pantalla para un idioma específico, es decir, cada idioma tiene un archivo de recursos por pantalla. Contiene generalmente dos secciones, LocalizedStrings LocalizedCollections

Archivo de recursos – Descripción
  • LocalizedStringslista de elementos individuales.
  • LocalizedCollectionslista de elementos que forman grupos, como por ejemplo,  ComboBox MultiSelect.

Veamos un ejemplo utilizando la pantalla de inicio de sesión para el idioma Inglés y para el idioma Español:

Personalización de Idiomas – Comparación Inglés
Personalización de Idiomas – Comparación Español

Como podemos apreciar, los atributos de cada elemento dentro del JSON son exactamente iguales para ambos idiomas, excepto el atributo Value, el cual contiene la traducción correspondiente al idioma seleccionado.

Funcionamiento del archivo de recursos

Cada archivo de recursos contiene la lista de elementos completa necesaria para la traducción de toda la página. Para poder cambiar las traducciones debemos proceder de la siguiente forma:

  1. Descargar el archivos de recursos
  2. Editar los valores deseados
  3. Subir el archivo con las modificaciones

Cada elemento contiene, además del atributo Value (junto con otros más que no veremos en este artículo), un atributo Override, el cual indica que este elemento tiene un valor que debe ser actualizado al subirlo.

Si queremos cambiar el texto ¿No tiene una cuenta? por algo como ¿Quieres abrir una cuenta?, el elemento debería ser modificado de la siguiente forma:

Archivo de Recursos – Edición
Validaciones
Validaciones

Es muy importante no olvidar marcar las entradas modificadas como Override, caso contrario recibiremos un error.

Aplicando las traducciones para elementos simples

Siguiendo el procedimiento descrito anteriormente, el primer paso es descargar el archivo de recursos correspondiente a la pantalla e idioma que necesitamos modificar.

1- Descargar el archivo de recursos

Flujo de Usuario – Idiomas

Para descargar el archivo de recursos nos dirigimos al flujo de usuario y en la sección Idiomas seleccionamos el idioma deseado.

Debido a que los atributos de usuarios personalizados que agregamos cuando realizamos los primeros pasos estaban en castellano, como por ejemplo Intereses y Años de experiencia, necesitamos la correspondiente traducción al idioma Inglés. Es por eso que en este ejemplo seleccionamos el idioma Inglés.

Flujo de Usuario – Descarga de Archivo de Recursos

Se desplegará sobre el sector derecho una ventana con la lista de pantallas disponibles para el flujo de usuario. Buscamos y desplegamos la sección Página de registro con cuenta local.

Aquí podemos descargar el archivo de recursos completo haciendo clic en la opción Descargar valores predeterminados (en). El archivo descargado tendrá un nombre muy largo, que incluye el nombre del tenant, el nombre del flujo de usuario, el nombre de la pantalla y el idioma.

Si ya hemos subido algún archivo de recursos previamente, veremos también la opción Descargar invalidaciones, la cual nos permite obtener un archivo de recursos solo con los elementos que fueron modificados (con la propiedad Override: true), en lugar del archivos de recursos completo.

2- Editar el archivo de recursos

Como mencionamos en párrafos anteriores, generalmente sólo necesitamos concentrarnos en los atributos de usuarios personalizados, ya que los atributos de usuario estándares cuenta con traducción predeterminada. Para este ejemplo, vamos a trabajar con el atributo Intereses.

Abrimos el archivo de recursos que descargamos en el paso anterior y buscamos la palabra intereses. Encontraremos dos entradas como las siguientes:

Archivo de recursos - Original
Archivo de recursos – Original

El primer elemento es el texto visible sobre el campo cuando está vacío, el segundo es un texto de ayuda que se muestra cuando paramos el cursor por arriba, generalmente conocido como hint. Editamos los valores de la siguiente forma:

Archivo de recursos – Editado

3- Subir el archivo con las modificaciones

Subir archivo de recursos
Subir archivo de recursos

Ya con el archivo de recursos editado, volvemos a la lista de pantallas disponibles del flujo de usuario para el idioma Inglés, buscamos y desplegamos la sección Página de registro con cuenta local.

Finalmente clicamos en el botón para subir el archivo y seleccionamos el archivo que editamos.

Azure AD B2C validará y aplicará los cambios automáticamente si y solo si no detecta ningún error, caso contrario nos mostrará un error sin aplicar ningún cambio.

Prueba de los cambios

Para poder probar los cambios recién aplicados, solo debemos ejecutar el flujo de usuario, activar los ui_locales y seleccionar el idioma Inglés.

Si todo salió veremos el campo intereses, pero esta vez con la descripción Interests. Si paramos el mouse por sobre el campo durante unos segundos, veremos además el hint con el texto Something you are interested in.

Personalización de Idiomas – Antes y Después

Conclusiones

  • A pesar de ser un artículo un poco extenso, es realmente muy simple generar traducciones.
  • No requerimos habilidades ni conocimientos de programación, incluso si nunca antes hemos trabajado con JSON, solo necesitamos editar texto.

Próximos pasos…

En la parte 3 de este artículo te voy a contar cómo traducir atributos de usuario personalizados complejos (colecciones) como Listas de selección múltiple o ComboBox.

Si necesitas asesoramiento o ayuda, si tenés dudas o no sabes cómo comenzar, o te interesa conocer/aprender sobre otros servicios de Azure, contáctame y vemos juntos como encontrar la solución que necesitas.