Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.
Avant de commencer, utilisez le sélecteur Choisir un type de stratégie en haut de cette page pour choisir le type de stratégie que vous configurez. Azure Active Directory B2C offre deux possibilités pour définir la façon dont les utilisateurs interagissent avec vos applications : via des flux utilisateurs prédéfinis ou via des stratégies personnalisées entièrement configurables. La procédure donnée dans cet article est différente pour chaque méthode.
La personnalisation de la langue dans Azure Active Directory B2C (Azure AD B2C) permet à votre flux utilisateur de prendre en charge différentes langues en fonction des besoins de vos clients. Microsoft fournit les traductions pour 36 langues, mais vous pouvez également fournir vos propres traductions pour n’importe quelle langue. Même si votre expérience est fournie pour une seule langue, vous pouvez personnaliser n’importe quel texte sur les pages.
Fonctionnement de la personnalisation de la langue
Vous utilisez la personnalisation de la langue pour sélectionner les langues dans lesquelles votre flux utilisateur est disponible. Une fois la fonctionnalité activée, vous pouvez fournir le paramètre de chaîne de requête, ui_localesà partir de votre application. Lorsque vous appelez Azure AD B2C, votre page est traduite en paramètres régionaux que vous avez indiqués. Ce type de configuration vous permet de contrôler complètement les langues de votre flux utilisateur et d’ignorer les paramètres linguistiques du navigateur du client.
Vous n’avez peut-être pas besoin de ce niveau de contrôle sur les langues que votre client voit. Si vous ne fournissez pas de ui_locales paramètre, l’expérience du client est dictée par les paramètres de son navigateur. Vous pouvez toujours contrôler les langues dans lesquelles votre flux utilisateur est traduit en l’ajoutant en tant que langue prise en charge. Si le navigateur d’un client est défini pour afficher une langue que vous ne souhaitez pas prendre en charge, la langue que vous avez sélectionnée comme valeur par défaut dans les cultures prises en charge s’affiche à la place.
- langue spécifiée par l’interface utilisateur : après avoir activé la personnalisation de la langue, votre flux utilisateur est traduit dans la langue spécifiée ici.
-
Langue demandée par le navigateur : si aucun paramètre n’a
ui_localesété spécifié, votre flux utilisateur est traduit dans la langue demandée par le navigateur, si la langue est prise en charge. - Langue par défaut de la stratégie : si le navigateur ne spécifie pas de langue, ou s'il spécifie une langue qui n'est pas prise en charge, le flux utilisateur est traduit dans sa langue par défaut.
Remarque
Si vous utilisez des attributs utilisateur personnalisés, vous devez fournir vos propres traductions. Pour plus d’informations, consultez Personnaliser vos chaînes.
Regardez cette vidéo pour découvrir comment localiser ou personnaliser la langue à l’aide d’Azure AD B2C.
La localisation nécessite trois étapes :
- Configurer la liste explicite des langues prises en charge
- Fournir des chaînes et collections spécifiques de la langue
- Modifiez la définition de contenu de la page.
Conditions préalables
- Créez un flux d’utilisateurs pour permettre aux utilisateurs de s’inscrire et de se connecter à votre application.
- Inscrire une application web.
- Suivez les étapes de Prise en main des stratégies personnalisées dans Active Directory B2C. Ce tutoriel vous explique comment mettre à jour des fichiers de stratégie personnalisés pour utiliser votre configuration de locataire Azure AD B2C.
- Inscrire une application web.
Prise en charge des langues demandées pour ui_locales
Les stratégies créées avant la disponibilité générale de la personnalisation du langage doivent d’abord activer cette fonctionnalité. La personnalisation de la langue est activée par défaut dans les stratégies et flux d’utilisateurs créés après.
Lorsque vous activez la personnalisation de la langue sur un flux utilisateur, vous pouvez contrôler la langue du flux utilisateur en ajoutant le ui_locales paramètre.
- Dans votre client Azure AD B2C, sélectionnez Parcours utilisateurs.
- Cliquez sur le flux utilisateur que vous souhaitez activer pour les traductions.
- Sélectionnez Langues.
- Sélectionnez Activer la personnalisation de la langue.
Sélectionner les langues de votre flux utilisateur activées
Activez un ensemble de langues pour que votre flux utilisateur soit traduit lorsqu’il est demandé par le navigateur sans le ui_locales paramètre.
- Vérifiez que la personnalisation de la langue de votre flux utilisateur est activée à partir des instructions précédentes.
- Dans la page Langues du flux utilisateur, sélectionnez une langue que vous souhaitez prendre en charge.
- Dans le volet des propriétés, remplacez Activé parOui.
- Sélectionnez Enregistrer en haut du volet propriétés.
Remarque
Si aucun ui_locales paramètre n’est fourni, la page est traduite dans la langue du navigateur du client uniquement si elle est activée.
Personnaliser vos chaînes
La personnalisation de la langue vous permet de personnaliser les chaînes de votre flux utilisateur.
- Vérifiez que la personnalisation de la langue de votre flux utilisateur est activée à partir des instructions précédentes.
- Dans la page Langues du flux utilisateur, sélectionnez une langue que vous souhaitez personnaliser.
- Sous Fichiers de ressources au niveau de la page, sélectionnez la page à modifier.
- Sélectionnez Télécharger les valeurs par défaut (ou Télécharger les valeurs de remplacements si vous avez déjà modifié cette langue).
À la suite de ces opérations, vous obtenez un fichier JSON que vous pouvez utiliser pour commencer à modifier vos chaînes.
Modifier des chaînes sur la page
- Ouvrez le fichier JSON téléchargé précédemment dans un éditeur JSON.
- Recherchez l’élément que vous souhaitez modifier. Vous pouvez trouver le
StringIdde la chaîne que vous recherchez, ou recherchez l’attributValueque vous souhaitez modifier. - Mettez à jour l’attribut
Valueavec ce que vous souhaitez afficher. - Pour chaque chaîne que vous souhaitez modifier, modifiez
Overrideentrue. - Enregistrez le fichier et chargez vos modifications. (Vous pouvez trouver le contrôle de chargement au même endroit que celui où vous avez téléchargé le fichier JSON.)
Important
Si vous devez remplacer une chaîne, assurez-vous de définir la valeur de Override à true. Si la valeur n’est pas modifiée, l’entrée est ignorée.
Modifier les attributs d’extension
Si vous souhaitez modifier la chaîne d’un attribut utilisateur personnalisé, ou en ajouter un au fichier JSON, le format suivant est utilisé :
{
"LocalizedStrings": [
{
"ElementType": "ClaimType",
"ElementId": "extension_<ExtensionAttribute>",
"StringId": "DisplayName",
"Override": true,
"Value": "<ExtensionAttributeValue>"
}
[...]
]
}
Remplacez <ExtensionAttribute> par le nom de votre attribut utilisateur personnalisé.
Remplacez <ExtensionAttributeValue> par la nouvelle chaîne à afficher.
Fournir la liste des valeurs à l’aide de LocalizedCollections
Si vous souhaitez fournir une liste définie de valeurs pour les réponses, vous devez créer un attribut LocalizedCollections. Un élément LocalizedCollections est un tableau de paires Name et Value. L’ordre des éléments sera l’ordre dans lequel ils apparaissent. Pour ajouter LocalizedCollections, utilisez le format suivant :
{
"LocalizedStrings": [...],
"LocalizedCollections": [
{
"ElementType":"ClaimType",
"ElementId":"<UserAttribute>",
"TargetCollection":"Restriction",
"Override": true,
"Items":[
{
"Name":"<Response1>",
"Value":"<Value1>"
},
{
"Name":"<Response2>",
"Value":"<Value2>"
}
]
}
]
}
-
ElementIdest l’attribut utilisateur auquel cet attributLocalizedCollectionsapporte une réponse. -
Nameest la valeur affichée à l’utilisateur. -
Valueest ce qui est renvoyé dans la revendication lorsque cette option est sélectionnée.
Charger vos modifications
- Une fois les modifications apportées à votre fichier JSON terminées, retournez à votre instance B2C.
- Sélectionnez Flux utilisateur , puis cliquez sur le flux utilisateur que vous souhaitez activer pour les traductions.
- Sélectionnez Langues.
- Sélectionnez la langue dans laquelle vous voulez traduire.
- Sélectionnez la page dans laquelle vous souhaitez fournir des traductions.
- Sélectionnez l’icône de dossier et sélectionnez le fichier JSON à charger.
Ces changements sont automatiquement enregistrés dans votre flux utilisateur.
Personnaliser l’interface utilisateur de la page à l’aide de la personnalisation de la langue
Il existe deux façons de localiser votre contenu HTML. L’une des façons consiste à activer la personnalisation de la langue. L’activation de cette fonctionnalité permet à Azure AD B2C de transférer le paramètre OpenID Connect, ui-localesà votre point de terminaison. Votre serveur de contenu peut utiliser ce paramètre pour fournir des pages HTML personnalisées spécifiques à la langue.
Vous pouvez également extraire du contenu à partir de différents emplacements en fonction des paramètres régionaux utilisés. Dans votre point de terminaison CORS, vous pouvez configurer une structure de dossiers pour héberger du contenu pour des langues spécifiques. Vous devez appeler celui qui convient si vous utilisez la valeur générique {Culture:RFC5646}. Par exemple, supposons qu’il s’agit de votre URI de page personnalisé :
https://wingtiptoysb2c.blob.core.windows.net/{Culture:RFC5646}/wingtip/unified.html
Vous pouvez charger la page dans fr. Lorsque la page extrait du contenu HTML et CSS, elle extrait les éléments suivants :
https://wingtiptoysb2c.blob.core.windows.net/fr/wingtip/unified.html
Ajouter des langues personnalisées
Vous pouvez également ajouter des langues pour lesquelles Microsoft ne fournit actuellement pas de traductions. Vous devez fournir les traductions pour toutes les chaînes de texte du flux utilisateur. Les codes de langue et de paramètres régionaux sont limités à ceux de la norme ISO 639-1. Le format de code des paramètres régionaux doit être « ISO_639-1_code »-« CountryCode ». Par exemple : en-GB. Pour plus d’informations, consultez formats d’ID des paramètres régionaux.
- Dans votre client Azure AD B2C, sélectionnez Parcours utilisateurs.
- Cliquez sur le flux utilisateur dans lequel vous souhaitez ajouter des langues personnalisées, puis cliquez sur Langues.
- Sélectionnez Ajouter une langue personnalisée en haut de la page.
- Dans le volet contextuel qui s’ouvre, identifiez la langue pour laquelle vous fournissez des traductions en entrant un code de paramètres régionaux valide.
- Pour chaque page, vous pouvez télécharger un ensemble de remplacements pour l’anglais et travailler sur les traductions.
- Une fois les fichiers JSON terminés, vous pouvez les charger pour chaque page.
- Sélectionnez Activer, et votre flux utilisateur peut maintenant afficher cette langue pour vos utilisateurs.
- Sauvegarder la langue.
Important
Vous devez activer les langues personnalisées ou charger des langues de substitution pour celles-ci avant de pouvoir enregistrer.
Configurer la liste des langues prises en charge
Ouvrez le fichier d’extensions de votre stratégie. Par exemple : SocialAndLocalAccounts/TrustFrameworkExtensions.xml.
- Recherchez l’élément BuildingBlocks . Si l’élément n’existe pas, ajoutez-le.
- Ajoutez l’élément
Localizationavec les langues prises en charge : anglais (par défaut) et espagnol.
<Localization Enabled="true">
<SupportedLanguages DefaultLanguage="en" MergeBehavior="ReplaceAll">
<SupportedLanguage>en</SupportedLanguage>
<SupportedLanguage>es</SupportedLanguage>
</SupportedLanguages>
</Localization>
Fournir des étiquettes spécifiques à la langue
LocalizedResources de l’élément Localization contient la liste des chaînes localisées. L’élément de ressources localisées a un identificateur utilisé pour identifier de manière unique les ressources localisées. Cet identificateur est utilisé ultérieurement dans l’élément de définition de contenu .
Vous configurez les éléments de ressources localisées pour la définition de contenu et toute langue que vous souhaitez prendre en charge. Pour personnaliser les pages d’inscription ou de connexion unifiées pour l’anglais et l’espagnol, vous ajoutez les éléments suivants LocalizedResources après la fermeture de l’élément </SupportedLanguages> .
Remarque
Dans l'exemple suivant, nous avons ajouté le symbole dièse # au début de chaque ligne, afin que vous puissiez facilement trouver les étiquettes localisées sur l'écran.
<!--Local account sign-up or sign-in page English-->
<Localization Enabled="true">
...
<LocalizedResources Id="api.signuporsignin.en">
<LocalizedStrings>
<LocalizedString ElementType="ClaimType" ElementId="signInName" StringId="DisplayName">Email Address</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="heading">Sign in</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="social_intro">Sign in with your social account</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="local_intro_generic">Sign in with your {0}</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="password" StringId="DisplayName">Password</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="requiredField_password">Please enter your password</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="requiredField_generic">Please enter your {0}</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="invalid_generic">Please enter a valid {0}</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="createaccount_one_link">Sign up now</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="createaccount_two_links">Sign up with {0} or {1}</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="createaccount_three_links">Sign up with {0}, {1}, or {2}</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="forgotpassword_link">Forgot your password?</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_signin">Sign in</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="divider_title">OR</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="createaccount_intro">Don't have an account?</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="unknown_error">We are having trouble signing you in. Please try again later.</LocalizedString>
<!-- Uncomment the remember_me only if the keep me signed in is activated.
<LocalizedString ElementType="UxElement" StringId="remember_me">Keep me signed in</LocalizedString> -->
<LocalizedString ElementType="ClaimsProvider" StringId="FacebookExchange">Facebook</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="ResourceOwnerFlowInvalidCredentials">Your password is incorrect.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidPassword">Your password is incorrect.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfPasswordExpired">Your password has expired.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalDoesNotExist">We can't seem to find your account.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfOldPasswordUsed">Looks like you used an old password.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="DefaultMessage">Invalid username or password.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfUserAccountDisabled">Your account has been locked. Contact your support person to unlock it, then try again.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfUserAccountLocked">Your account is temporarily locked to prevent unauthorized use. Try again later.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="AADRequestsThrottled">There are too many requests at this moment. Please wait for some time and try again.</LocalizedString>
</LocalizedStrings>
</LocalizedResources>
<!--Local account sign-up or sign-in page Spanish-->
<LocalizedResources Id="api.signuporsignin.es">
<LocalizedStrings>
<LocalizedString ElementType="UxElement" StringId="logonIdentifier_email">#Correo electrónico</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="requiredField_email">#Este campo es obligatorio</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="logonIdentifier_username">#Nombre de usuario</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="password">#Contraseña</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="createaccount_link">#Registrarse ahora</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="requiredField_username">#Escriba su nombre de usuario</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="createaccount_intro">#¿No tiene una cuenta?</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="forgotpassword_link">#¿Olvidó su contraseña?</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="divider_title">#O</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="cancel_message">#El usuario ha olvidado su contraseña</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_signin">#Iniciar sesión</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="social_intro">#Iniciar sesión con su cuenta de redes sociales</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="requiredField_password">#Escriba su contraseña</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="invalid_password">#La contraseña que ha escrito no está en el formato esperado.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="local_intro_username">#Iniciar sesión con su nombre de usuario</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="local_intro_email">#Iniciar sesión con su cuenta existente</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="invalid_email">#Escriba una dirección de correo electrónico válida</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="unknown_error">#Tenemos problemas para iniciar su sesión. Vuelva a intentarlo más tarde. </LocalizedString>
<LocalizedString ElementType="UxElement" StringId="email_pattern">^[a-zA-Z0-9.!#$%&'^_`\{\}~\-]+@[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*$</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidPassword">#Su contraseña es incorrecta.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalDoesNotExist">#Parece que no podemos encontrar su cuenta.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfOldPasswordUsed">#Parece que ha usado una contraseña antigua.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="DefaultMessage">#El nombre de usuario o la contraseña no son válidos.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfUserAccountDisabled">#Se bloqueó su cuenta. Póngase en contacto con la persona responsable de soporte técnico para desbloquearla y vuelva a intentarlo.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfUserAccountLocked">#Su cuenta se bloqueó temporalmente para impedir un uso no autorizado. Vuelva a intentarlo más tarde.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="AADRequestsThrottled">#Hay demasiadas solicitudes en este momento. Espere un momento y vuelva a intentarlo.</LocalizedString>
</LocalizedStrings>
</LocalizedResources>
<!--Local account sign-up page English-->
<LocalizedResources Id="api.localaccountsignup.en">
<LocalizedStrings>
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">#Email Address</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="UserHelpText">#Email address that can be used to contact you.</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="PatternHelpText">#Please enter a valid email address.</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="DisplayName">#New Password</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="UserHelpText">#Enter new password</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="PatternHelpText">#8-16 characters, containing 3 out of 4 of the following: Lowercase characters, uppercase characters, digits (0-9), and one or more of the following symbols: @ # $ % ^ & * - _ + = [ ] { } | \ : ' , ? / ` ~ " ( ) ; .</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="DisplayName">#Confirm New Password</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="UserHelpText">#Confirm new password</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="PatternHelpText">#8-16 characters, containing 3 out of 4 of the following: Lowercase characters, uppercase characters, digits (0-9), and one or more of the following symbols: @ # $ % ^ & * - _ + = [ ] { } | \ : ' , ? / ` ~ " ( ) ; .</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="displayName" StringId="DisplayName">#Display Name</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="displayName" StringId="UserHelpText">#Your display name.</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="surname" StringId="DisplayName">#Surname</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="surname" StringId="UserHelpText">#Your surname (also known as family name or last name). </LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="givenName" StringId="DisplayName">#Given Name</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="givenName" StringId="UserHelpText">#Your given name (also known as first name).</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_continue">#Create</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="error_fieldIncorrect">#One or more fields are filled out incorrectly. Please check your entries and try again.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="error_passwordEntryMismatch">#The password entry fields do not match. Please enter the same password in both fields and try again.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="error_requiredFieldMissing">#A required field is missing. Please fill out all required fields and try again.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="helplink_text">#What is this?</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="initial_intro">#Please provide the following details.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="preloader_alt">#Please wait</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="required_field">#This information is required.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_but_edit">#Change e-mail</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_but_resend">#Send new code</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_but_send">#Send verification code</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_but_verify">#Verify code</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_code_expired">#That code is expired. Please request a new code.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_no_retry">#You've made too many incorrect attempts. Please try again later.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_retry">#That code is incorrect. Please try again.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_server">#We are having trouble verifying your email address. Please enter a valid email address and try again.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_throttled">#There have been too many requests to verify this email address. Please wait a while, then try again.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_info_msg">#Verification code has been sent to your inbox. Please copy it to the input box below.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_input">#Verification code</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_intro_msg">#Verification is necessary. Please click Send button.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_success_msg">#E-mail address verified. You can now continue.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="ServiceThrottled">#There are too many requests at this moment. Please wait for some time and try again.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimNotVerified">#Claim not verified: {0}</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">#A user with the specified ID already exists. Please choose a different one.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfIncorrectPattern">#Incorrect pattern for: {0}</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidInput">#{0} has invalid input.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMissingRequiredElement">#Missing required element: {0}</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfValidationError">#Error in validation by: {0}</LocalizedString>
</LocalizedStrings>
</LocalizedResources>
<!--Local account sign-up page Spanish-->
<LocalizedResources Id="api.localaccountsignup.es">
<LocalizedStrings>
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">#Dirección de correo electrónico</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="UserHelpText">#Dirección de correo electrónico que puede usarse para ponerse en contacto con usted.</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="PatternHelpText">#Introduzca una dirección de correo electrónico válida. </LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="DisplayName">#Nueva contraseña</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="UserHelpText">#Escriba la contraseña nueva</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="PatternHelpText">#De 8 a 16 caracteres, que contengan 3 de los 4 tipos siguientes: caracteres en minúsculas, caracteres en mayúsculas, dígitos (0-9) y uno o más de los siguientes símbolos: @ # $ % ^ & * - _ + = [ ] { } | \\ : ' , ? / ` ~ \" ( ) ; .</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="DisplayName">#Confirmar nueva contraseña</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="UserHelpText">#Confirmar nueva contraseña</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="PatternHelpText">#8 a 16 caracteres, que contengan 3 de los 4 tipos siguientes: caracteres en minúsculas, caracteres en mayúsculas, dígitos (0-9) y uno o más de los siguientes símbolos: @ # $ % ^ & * - _ + = [ ] { } | \\ : ' , ? / ` ~ \" ( ) ; .</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="displayName" StringId="DisplayName">#Nombre para mostrar</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="displayName" StringId="UserHelpText">#Su nombre para mostrar.</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="surname" StringId="DisplayName">#Apellido</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="surname" StringId="UserHelpText">#Su apellido.</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="givenName" StringId="DisplayName">#Nombre</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="givenName" StringId="UserHelpText">#Su nombre (también conocido como nombre de pila).</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_continue">#Crear</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="error_fieldIncorrect">#Hay uno o varios campos rellenados de forma incorrecta. Compruebe las entradas y vuelva a intentarlo.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="error_passwordEntryMismatch">#Los campos de entrada de contraseña no coinciden. Escriba la misma contraseña en ambos campos y vuelva a intentarlo.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="error_requiredFieldMissing">#Falta un campo obligatorio. Rellene todos los campos necesarios y vuelva a intentarlo.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="helplink_text">#¿Qué es esto?</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="initial_intro">#Proporcione los siguientes detalles.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="preloader_alt">#Espere</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="required_field">#Esta información es obligatoria.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_but_edit">#Cambiar correo electrónico</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_but_resend">#Enviar nuevo código</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_but_send">#Enviar código de comprobación</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_but_verify">#Comprobar código</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_code_expired">#El código ha expirado. Solicite otro nuevo.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_no_retry">#Ha realizado demasiados intentos incorrectos. Vuelva a intentarlo más tarde.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_retry">#Ese código es incorrecto. Inténtelo de nuevo.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_server">#Tenemos problemas para comprobar la dirección de correo electrónico. Escriba una dirección de correo electrónico válida y vuelva a intentarlo.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_fail_throttled">#Ha habido demasiadas solicitudes para comprobar esta dirección de correo electrónico. Espere un poco y vuelva a intentarlo.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_info_msg">#Se ha enviado el código de verificación a su Bandeja de entrada. Cópielo en el siguiente cuadro de entrada.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_input">#Código de verificación</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_intro_msg">#La comprobación es obligatoria. Haga clic en el botón Enviar.</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="ver_success_msg">#Dirección de correo electrónico comprobada. Puede continuar.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="ServiceThrottled">#Hay demasiadas solicitudes en este momento. Espere un momento y vuelva a intentarlo.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimNotVerified">#Reclamación no comprobada: {0}</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">#Ya existe un usuario con el id. especificado. Elija otro diferente.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfIncorrectPattern">#Patrón incorrecto para: {0}</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidInput">#{0} tiene una entrada no válida.</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMissingRequiredElement">#Falta un elemento obligatorio: {0}</LocalizedString>
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfValidationError">#Error en la validación de: {0}</LocalizedString>
</LocalizedStrings>
</LocalizedResources>
</Localization>
Modifier la définition de contenu avec la localisation
Collez tout le contenu de l’élément ContentDefinitions que vous avez copié en tant que sous-élément de l’élément BuildingBlocks.
Dans l’exemple suivant, les chaînes personnalisées en anglais (en) et espagnol (es) sont ajoutées à la page d’inscription ou de connexion, ainsi qu’à la page d’inscription au compte local. LocalizedResourcesReferenceId pour chaque LocalizedResourcesReference est identique à leurs paramètres régionaux, mais vous pouvez utiliser n’importe quelle chaîne comme identificateur. Pour chaque combinaison de langues et de pages, vous pointez sur les ressources LocalizedResources correspondantes que vous avez créées précédemment.
<ContentDefinitions>
<ContentDefinition Id="api.signuporsignin">
<LocalizedResourcesReferences MergeBehavior="Prepend">
<LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.signuporsignin.en" />
<LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.signuporsignin.es" />
</LocalizedResourcesReferences>
</ContentDefinition>
<ContentDefinition Id="api.localaccountsignup">
<LocalizedResourcesReferences MergeBehavior="Prepend">
<LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.localaccountsignup.en" />
<LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.localaccountsignup.es" />
</LocalizedResourcesReferences>
</ContentDefinition>
</ContentDefinitions>
Charger et tester votre stratégie personnalisée mise à jour
Télécharger la stratégie personnalisée
- Enregistrez le fichier d’extensions.
- Si vous avez accès à plusieurs tenants (locataires), sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Annuaires + abonnements.
- Recherchez et sélectionnez Azure AD B2C.
- Sous Stratégies, sélectionnez Identity Experience Framework.
- Sélectionnez Charger une stratégie personnalisée.
- Chargez le fichier d’extensions que vous avez modifié précédemment.
Tester la stratégie personnalisée à l’aide de Run now
- Sélectionnez la stratégie que vous avez chargée, puis sélectionnez Exécuter maintenant.
- Vous devriez être en mesure de voir la page d’inscription ou de connexion localisée.
- Cliquez sur le lien d’inscription et vous devriez être en mesure de voir la page d’inscription localisée.
- Basculez la langue par défaut de votre navigateur en espagnol. Vous pouvez également ajouter le paramètre
ui_localesde chaîne de requête à la demande d’autorisation. Par exemple:
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin/oauth2/v2.0/authorize&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login&ui_locales=es
Informations supplémentaires
Étiquettes de personnalisation de l’interface utilisateur de la page comme remplacements
Lorsque vous activez la personnalisation de la langue, les modifications précédemment appliquées aux étiquettes via la personnalisation de l’interface utilisateur de la page sont conservées dans un fichier JSON pour l’anglais (en). Vous pouvez continuer à modifier vos étiquettes et les autres chaînes en chargeant des ressources de langue dans « Personnalisation de la langue ».
Traductions à jour
Microsoft s’engage à fournir des traductions à jour pour que vous puissiez les utiliser. Nous ne cessons d’améliorer nos traductions pour qu’elles soient conformes à vos attentes. Microsoft identifiera les bogues et les modifications dans la terminologie globale et créera les mises à jour qui s’adapteront en toute transparence à votre flux utilisateur.
Prise en charge des langues s’écrivant de droite à gauche
Microsoft n’assure actuellement pas la prise en charge des langues s’écrivant de droite à gauche. Pour cela, vous pouvez utiliser des paramètres régionaux personnalisés et modifier la manière dont les chaînes sont affichées à l’aide de CSS. Si vous avez besoin de cette fonctionnalité, votez pour elle sur Azure Feedback.
Traductions des fournisseurs d’identité de réseaux sociaux
Microsoft fournit le paramètre OIDC ui_locales pour les connexions aux réseaux sociaux. Mais certains fournisseurs d’identité de réseaux sociaux, notamment Facebook et Google, ne les respectent pas.
Comportement du navigateur
Microsoft Edge, Chrome et Firefox demandent leur langue définie. S’il s’agit d’une langue prise en charge, elle s’affiche avant la langue par défaut.
Langues prises en charge
Azure AD B2C inclut la prise en charge des langues suivantes à l’aide de codes ISO 639-1. Les langages de flux utilisateur sont fournis par Azure AD B2C. Les langages de notification d’authentification multifacteur sont fournis par l’authentification multifacteur Microsoft Entra.
| Langue | Code de langue | Flux d’utilisateurs | Notifications MFA |
|---|---|---|---|
| Arabe | Ar |
|
|
| Bulgare | Bg |
|
|
| Le bengali | Bn |
|
|
| Catalan | CA |
|
|
| Tchèque | Cs |
|
|
| Danois | oui |
|
|
| Allemand | de |
|
|
| Grec | El |
|
|
| Anglais | en |
|
|
| Espagnol | es |
|
|
| Estonien | et |
|
|
| Basque | UE |
|
|
| Finnois | Fi |
|
|
| Français | Fr |
|
|
| Galicien | Gl |
|
|
| Gujarâtî | Gu |
|
|
| Hébreu | il |
|
|
| hindi | Salut |
|
|
| Croate | rh |
|
|
| Hongrois | hu |
|
|
| Indonésien | pièce d'identité |
|
|
| Italien | il |
|
|
| Japonais | Ja |
|
|
| Kazakh | kk |
|
|
| kannada | Kn |
|
|
| Coréen | Ko |
|
|
| Lituanien | Lt |
|
|
| Letton | Lv |
|
|
| Malayalam | millilitre |
|
|
| Marathi | monsieur |
|
|
| Malaisien | milliseconde |
|
|
| Norvégien Bokmal | Nb |
|
|
| Néerlandais | Nl |
|
|
| Norvégien | Non |
|
|
| Pendjabi | papa |
|
|
| Polonais | Pl |
|
|
| Portugais - Brésil | pt-br |
|
|
| Portugais - Portugal | pt-pt |
|
|
| Roumain | Ro |
|
|
| Russe | Ru |
|
|
| Slovaque | Sk |
|
|
| Slovène | Sl |
|
|
| Serbe - Cyrillique | SR-CRYL-CS |
|
|
| Serbe - Latin | sr-latn-cs |
|
|
| Suédois | Sv |
|
|
| Tamil | merci |
|
|
| Télougou | te |
|
|
| Thaï | ième |
|
|
| Turc | Tr |
|
|
| Ukrainien | Royaume-Uni |
|
|
| Vietnamien | Vi |
|
|
| Gallois | Cy |
|
|
| Chinois - Simplifié | zh-hans |
|
|
| Chinois - Traditionnel | zh-hant |
|
|
Étapes suivantes
Découvrez comment personnaliser l’interface utilisateur de vos applications dans Personnaliser l’interface utilisateur de votre application dans Azure Active Directory B2C.
- En savoir plus sur l’élément de localisation dans la référence IEF.
- Consultez la liste des ID de chaîne de localisation disponibles dans Azure AD B2C.