Localiza tu experiencia de inicio de sesión en Logto con ui_locales de OIDC
Haz que tu experiencia de inicio de sesión se sienta nativa para cada usuario. En este tutorial, aprenderás cómo usar el parámetro estándar de OIDC ui_locales para establecer el idioma en tiempo de ejecución de la interfaz de inicio de sesión de Logto y los correos electrónicos relacionados.
¿Por qué usar ui_locales?
Logto ya admite contenido multilingüe y detección automática, pero hay ocasiones en las que deseas elegir explícitamente el idioma para una interacción específica:
- Productos multi-organización con diferentes preferencias de idioma por organización
- Enlaces directos de campañas en un idioma específico
- Páginas de productos con llamadas a la acción localizadas que inician el inicio de sesión en el mismo idioma
- Pruebas A/B para onboarding localizado
Además, ui_locales
es un parámetro estándar admitido por muchos proveedores de identidad y SDKs.
Qué hace ui_locales
- Establece el idioma de la interfaz de inicio de sesión para la interacción actual (la primera etiqueta admitida es la que se usa)
- Influye en la localización de los correos electrónicos para los mensajes desencadenados por esta interacción
- Expone el valor original a las plantillas de correo como una variable
uiLocales
(por ejemplo, "Idiomas solicitados:{{uiLocales}}
")
Puedes obtener más información en la referencia: Documentación de UI locales.
Prerrequisitos
- Un tenant de Logto (Cloud u OSS)
- Una aplicación integrada con Logto (Inicios rápidos)
- Al menos un idioma adicional habilitado en la experiencia de inicio de sesión (Idiomas localizados)
Opcional pero útil:
- Plantillas de correo personalizadas o plantillas gestionadas por el proveedor activadas, para ver la localización de correos en acción (Plantillas de correo)
Opción 1: Usa ui_locales vía extraParams de SDK
Los SDKs de Logto te permiten pasar parámetros OIDC adicionales durante el inicio de sesión. Agrega ui_locales en extraParams
:
Notas:
- Proporciona una lista separada por espacios de etiquetas BCP 47. Logto tomará la primera etiqueta que exista en la biblioteca de idiomas de tu tenant (por ejemplo,
fr-CA
, en su defectofr
, despuésen
). - Funciona por interacción—no se cambia el idioma predeterminado de tu tenant.
- Puedes combinar
ui_locales
con otros parámetros estándar o personalizados (por ejemplo,login_hint
,organization_id
o directivas para la primera pantalla).
Opción 2: Agrega ui_locales a tu URL de autorización
Si estás armando la solicitud de autorización OIDC manualmente (o usando un cliente OIDC genérico), agrega ui_locales
directamente:
Cómo se localizan los correos electrónicos
Cuando una interacción desencadena un correo (por ejemplo, código de verificación), Logto resuelve el idioma en este orden:
ui_locales
(la primera etiqueta admitida)- Si no, detecta automáticamente a través de la cabecera HTTP
Accept-Language
- Si no, el idioma predeterminado del tenant
Luego, Logto intenta encontrar una plantilla de correo personalizada que coincida con el idioma resuelto y el tipo de plantilla; si no la encuentra, usa la predeterminada del conector.
Plantillas gestionadas por el proveedor (por ejemplo, Postmark, HTTP Email): Logto pasa tanto uiLocales
como locale
a tu proveedor. Si ui_locales
está presente, locale
usa la primera etiqueta admitida de ui_locales
.
Consulta: Localización de plantillas de correo.