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.
Remarque
Dans Active Directory B2C, les stratégies personnalisées sont principalement conçues pour gérer des scénarios complexes. Pour la plupart des scénarios, nous vous recommandons de recourir à des flux d’utilisateurs intégrés. Si vous ne l’avez pas fait, découvrez le Pack de démarrage de stratégie personnalisée dans Prise en main des stratégies personnalisées dans Active Directory B2C.
L’élément Localisation vous permet de prendre en charge plusieurs paramètres régionaux ou langues dans la stratégie pour les parcours utilisateur. La prise en charge de la localisation dans les stratégies vous permet de :
- Configurez la liste explicite des langues prises en charge dans une stratégie et choisissez une langue par défaut.
- Fournissez des chaînes et des collections spécifiques au langage.
<Localization Enabled="true">
<SupportedLanguages DefaultLanguage="en" MergeBehavior="ReplaceAll">
<SupportedLanguage>en</SupportedLanguage>
<SupportedLanguage>es</SupportedLanguage>
</SupportedLanguages>
<LocalizedResources Id="api.localaccountsignup.en">
<LocalizedResources Id="api.localaccountsignup.es">
...
L’élément Localisation contient les attributs suivants :
| Caractéristique | Obligatoire | Descriptif |
|---|---|---|
| Activé | Non | Valeurs possibles : true ou false. |
L’élément Localisation contient les éléments XML suivants
| Élément | Occurrences | Descriptif |
|---|---|---|
| Langues prises en charge | 1 :n | Liste des langues prises en charge. |
| Ressources localisées | 0 :n | Liste des ressources localisées. |
Langues prises en charge
L’élément SupportedLanguages contient les attributs suivants :
| Caractéristique | Obligatoire | Descriptif |
|---|---|---|
| Langue par défaut | Oui | Langue à utiliser comme valeur par défaut pour les ressources localisées. |
| MergeBehavior | Non | Valeurs d’énumération des valeurs fusionnées avec n’importe quel ClaimType présent dans une stratégie parente avec le même identificateur. Utilisez cet attribut lorsque vous remplacez une revendication spécifiée dans la stratégie de base. Valeurs possibles : Append, Prepend ou ReplaceAll. La Append valeur spécifie que la collection de données présentes doit être ajoutée à la fin de la collection spécifiée dans la stratégie parente. La Prepend valeur spécifie que la collection de données présentes doit être ajoutée avant la collection spécifiée dans la stratégie parente. La ReplaceAll valeur spécifie que la collection de données définie dans la stratégie parente doit être ignorée, à l’aide des données définies dans la stratégie actuelle. |
Langues prises en charge
L’élément SupportedLanguages contient les éléments suivants :
| Élément | Occurrences | Descriptif |
|---|---|---|
| Langue prise en charge | 1 :n | Affiche le contenu conforme à une balise de langue par RFC 5646 - Balises pour identifier les langues. |
Ressources localisées
L’élément LocalizedResources contient les attributs suivants :
| Caractéristique | Obligatoire | Descriptif |
|---|---|---|
| Id | Oui | Identificateur utilisé pour identifier de manière unique les ressources localisées. |
L’élément LocalizedResources contient les éléments suivants :
| Élément | Occurrences | Descriptif |
|---|---|---|
| LocalizedCollections | 0 :n | Définit des collections entières dans différentes cultures. Une collection peut avoir un nombre différent d’éléments et différentes chaînes pour différentes cultures. Les exemples de collections incluent les énumérations qui apparaissent dans les types de revendications. Par exemple, une liste pays/région s’affiche à l’utilisateur dans une liste déroulante. |
| LocalizedStrings | 0 :n | Définit toutes les chaînes, à l’exception des chaînes qui apparaissent dans des collections, dans différentes cultures. |
LocalizedCollections
L’élément LocalizedCollections contient les éléments suivants :
| Élément | Occurrences | Descriptif |
|---|---|---|
| Collection localisée | 1 :n | Liste des langues prises en charge. |
Collection localisée
L’élément LocalizedCollection contient les attributs suivants :
| Caractéristique | Obligatoire | Descriptif |
|---|---|---|
| ElementType | Oui | Fait référence à un élément ClaimType ou à un élément d’interface utilisateur dans le fichier de stratégie. |
| ElementId | Oui | Chaîne qui contient une référence à un type de revendication déjà défini dans la section ClaimsSchema utilisée si ElementType a la valeur ClaimType. |
| TargetCollection | Oui | Collection cible. |
L’élément LocalizedCollection contient les éléments suivants :
| Élément | Occurrences | Descriptif |
|---|---|---|
| Élément | 0 :n | Définit une option disponible pour que l’utilisateur sélectionne une revendication dans l’interface utilisateur, telle qu’une valeur dans une liste déroulante. |
L’élément Item contient les attributs suivants :
| Caractéristique | Obligatoire | Descriptif |
|---|---|---|
| Texto | Oui | Chaîne d’affichage conviviale qui doit être affichée à l’utilisateur dans l’interface utilisateur pour cette option. |
| Valeur | Oui | Valeur de revendication de chaîne associée à la sélection de cette option. |
| SélectionnerPar défaut | Non | Indique si cette option doit être sélectionnée par défaut dans l’interface utilisateur. Valeurs possibles : True ou False. |
L’exemple suivant montre l’utilisation de l’élément LocalizedCollections . Il contient deux éléments LocalizedCollection , un pour l’anglais et un autre pour l’espagnol. Les deux définissent la collection Restriction de la revendication Gender avec une liste d’éléments pour l’anglais et l’espagnol. Pour obtenir d’autres exemples, consultez la Démonstration en direct de l’énumération des restrictions de revendication.
<LocalizedResources Id="api.selfasserted.en">
<LocalizedCollections>
<LocalizedCollection ElementType="ClaimType" ElementId="Gender" TargetCollection="Restriction">
<Item Text="Female" Value="F" />
<Item Text="Male" Value="M" />
</LocalizedCollection>
</LocalizedCollections>
</LocalizedResources>
<LocalizedResources Id="api.selfasserted.es">
<LocalizedCollections>
<LocalizedCollection ElementType="ClaimType" ElementId="Gender" TargetCollection="Restriction">
<Item Text="Femenino" Value="F" />
<Item Text="Masculino" Value="M" />
</LocalizedCollection>
</LocalizedCollections>
</LocalizedResources>
LocalizedStrings
L’élément LocalizedStrings contient les éléments suivants :
| Élément | Occurrences | Descriptif |
|---|---|---|
| LocalizedString | 1 :n | Chaîne localisée. |
L’élément LocalizedString contient les attributs suivants :
| Caractéristique | Obligatoire | Descriptif |
|---|---|---|
| ElementType | Oui | Valeurs possibles : ClaimsProvider, ClaimType, ErrorMessage, GetLocalizedStringsTransformationClaimType, FormatLocalizedStringTransformationClaimType, Predicate, PredicateValidation ou UxElement. |
| ElementId | Oui | Si ElementType est défini ClaimTypesur , Predicateou PredicateValidation, cet élément contient une référence à un type de revendication déjà défini dans la section ClaimsSchema. |
| StringId | Oui | Si ElementType est défini ClaimTypesur , cet élément contient une référence à un attribut d’un type de revendication. Valeurs possibles : DisplayName, AdminHelpText ou PatternHelpText. La DisplayName valeur est utilisée pour définir le nom complet de la revendication. La AdminHelpText valeur est utilisée pour définir le nom du texte d’aide de l’utilisateur de revendication. La PatternHelpText valeur est utilisée pour définir le texte d’aide du modèle de revendication. Si ElementType est défini UxElementsur , cet élément contient une référence à un attribut d’un élément d’interface utilisateur. Si ElementType est défini ErrorMessagesur , cet élément spécifie l’identificateur d’un message d’erreur. Consultez les ID de chaîne de localisation pour obtenir la liste complète des UxElement identificateurs. |
ElementType
Référence ElementType à un type de revendication, à une transformation de revendication ou à un élément d’interface utilisateur dans la stratégie à localiser.
| Élément à localiser | ElementType | ElementId | StringId |
|---|---|---|---|
| Nom du fournisseur d’identité | ClaimsProvider |
ID de l’élément ClaimsExchange | |
| Attributs de type de revendication | ClaimType |
Nom du type de revendication | Attribut de la revendication à localiser. Valeurs possibles : AdminHelpText, , DisplayNamePatternHelpText, et UserHelpText. |
| Message d'erreur | ErrorMessage |
ID du message d’erreur | |
| Copie des chaînes localisées dans des revendications | GetLocalizedStringsTransformationClaimType |
Nom de la revendication de sortie | |
| Message utilisateur de prédicat | Predicate |
Nom du prédicat | Attribut du prédicat à localiser. Valeurs possibles : HelpText. |
| Message utilisateur du groupe de prédicats | PredicateValidation |
ID de l’élément PredicateValidation. | ID de l’élément PredicateGroup. Le groupe de prédicats doit être un enfant de l’élément de validation de prédicat tel que défini dans l’ÉlémentId. |
| Éléments de l’interface utilisateur | UxElement |
ID de l’élément d’interface utilisateur à localiser. | |
| Contrôle d’affichage | DisplayControl |
ID du contrôle d’affichage. | ID de l’élément d’interface utilisateur à localiser. |
Exemples
Fournisseur de réclamations
La valeur ClaimsProvider est utilisée pour localiser l’un des fournisseurs de revendications du nom complet.
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="FacebookExchange" TechnicalProfileReferenceId="Facebook-OAUTH" />
<ClaimsExchange Id="GoogleExchange" TechnicalProfileReferenceId="Google-OAUTH" />
<ClaimsExchange Id="LinkedInExchange" TechnicalProfileReferenceId="LinkedIn-OAUTH" />
</ClaimsExchanges>
</OrchestrationStep>
L’exemple suivant montre comment localiser le nom complet des fournisseurs de revendications.
<LocalizedString ElementType="ClaimsProvider" StringId="FacebookExchange">Facebook</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="GoogleExchange">Google</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="LinkedInExchange">LinkedIn</LocalizedString>
Type de réclamation
La valeur ClaimType est utilisée pour localiser l’un des attributs de revendication.
<ClaimType Id="email">
<DisplayName>Email Address</DisplayName>
<DataType>string</DataType>
<UserHelpText>Email address that can be used to contact you.</UserHelpText>
<UserInputType>TextBox</UserInputType>
</ClaimType>
L’exemple suivant montre comment localiser les attributs DisplayName, UserHelpText et PatternHelpText du type de revendication d’e-mail.
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">Email</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="UserHelpText">Please enter your email</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="PatternHelpText">Please enter a valid email address</LocalizedString>
Message d'erreur
La valeur ErrorMessage est utilisée pour localiser l’un des messages d’erreur système.
<TechnicalProfile Id="AAD-UserWriteUsingAlternativeSecurityId">
<Metadata>
<Item Key="RaiseErrorIfClaimsPrincipalAlreadyExists">true</Item>
<Item Key="UserMessageIfClaimsPrincipalAlreadyExists">You are already registered, please press the back button and sign in instead.</Item>
</Metadata>
...
</TechnicalProfile>
L’exemple suivant montre comment localiser le message d’erreur UserMessageIfClaimsPrincipalAlreadyExists.
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">The account you are trying to create already exists, please sign-in.</LocalizedString>
FormatLocalizedStringTransformationClaimType
La valeur FormatLocalizedStringTransformationClaimType est utilisée pour mettre en forme des revendications dans une chaîne localisée. Pour plus d’informations, consultez La transformation des revendications FormatLocalizedString
<ClaimsTransformation Id="SetResponseMessageForEmailAlreadyExists" TransformationMethod="FormatLocalizedString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" />
</InputClaims>
<InputParameters>
<InputParameter Id="stringFormatId" DataType="string" Value="ResponseMessage_EmailExists" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="responseMsg" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
L’exemple suivant montre comment localiser le format de chaîne de la transformation de revendications FormatLocalizedStringTransformationClaimType.
<LocalizedString ElementType="FormatLocalizedStringTransformationClaimType" StringId="ResponseMessage_EmailExists">The email '{0}' is already an account in this organization. Click Next to sign in with that account.</LocalizedString>
GetLocalizedStringsTransformationClaimType
La valeur GetLocalizedStringsTransformationClaimType est utilisée pour copier des chaînes localisées dans des revendications. Pour plus d’informations, consultez La transformation des revendications GetLocalizedStringsTransformation
<ClaimsTransformation Id="GetLocalizedStringsForEmail" TransformationMethod="GetLocalizedStringsTransformation">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="subject" TransformationClaimType="email_subject" />
<OutputClaim ClaimTypeReferenceId="message" TransformationClaimType="email_message" />
<OutputClaim ClaimTypeReferenceId="codeIntro" TransformationClaimType="email_code" />
<OutputClaim ClaimTypeReferenceId="signature" TransformationClaimType="email_signature" />
</OutputClaims>
</ClaimsTransformation>
L’exemple suivant montre comment localiser les revendications de sortie de la transformation de revendications GetLocalizedStringsTransformation.
<LocalizedString ElementType="GetLocalizedStringsTransformationClaimType" StringId="email_subject">Contoso account email verification code</LocalizedString>
<LocalizedString ElementType="GetLocalizedStringsTransformationClaimType" StringId="email_message">Thanks for verifying your account!</LocalizedString>
<LocalizedString ElementType="GetLocalizedStringsTransformationClaimType" StringId="email_code">Your code is</LocalizedString>
<LocalizedString ElementType="GetLocalizedStringsTransformationClaimType" StringId="email_signature">Sincerely</LocalizedString>
Prédicat
La valeur de prédicat est utilisée pour localiser l’un des messages d’erreur de prédicat .
<Predicates>
<Predicate Id="LengthRange" Method="IsLengthRange" HelpText="The password must be between 6 and 64 characters.">
<Parameters>
<Parameter Id="Minimum">6</Parameter>
<Parameter Id="Maximum">64</Parameter>
</Parameters>
</Predicate>
<Predicate Id="Lowercase" Method="IncludesCharacters" HelpText="a lowercase letter">
<Parameters>
<Parameter Id="CharacterSet">a-z</Parameter>
</Parameters>
</Predicate>
<Predicate Id="Uppercase" Method="IncludesCharacters" HelpText="an uppercase letter">
<Parameters>
<Parameter Id="CharacterSet">A-Z</Parameter>
</Parameters>
</Predicate>
</Predicates>
L’exemple suivant montre comment localiser le texte d’aide des prédicats.
<LocalizedString ElementType="Predicate" ElementId="LengthRange" StringId="HelpText">The password must be between 6 and 64 characters.</LocalizedString>
<LocalizedString ElementType="Predicate" ElementId="Lowercase" StringId="HelpText">a lowercase letter</LocalizedString>
<LocalizedString ElementType="Predicate" ElementId="Uppercase" StringId="HelpText">an uppercase letter</LocalizedString>
PredicateValidation
La valeur PredicateValidation est utilisée pour localiser l’un des messages d’erreur du groupe PredicateValidation .
<PredicateValidations>
<PredicateValidation Id="CustomPassword">
<PredicateGroups>
<PredicateGroup Id="LengthGroup">
<PredicateReferences MatchAtLeast="1">
<PredicateReference Id="LengthRange" />
</PredicateReferences>
</PredicateGroup>
<PredicateGroup Id="CharacterClasses">
<UserHelpText>The password must have at least 3 of the following:</UserHelpText>
<PredicateReferences MatchAtLeast="3">
<PredicateReference Id="Lowercase" />
<PredicateReference Id="Uppercase" />
<PredicateReference Id="Number" />
<PredicateReference Id="Symbol" />
</PredicateReferences>
</PredicateGroup>
</PredicateGroups>
</PredicateValidation>
</PredicateValidations>
L’exemple suivant montre comment localiser un texte d’aide du groupe de validation de prédicat.
<LocalizedString ElementType="PredicateValidation" ElementId="CustomPassword" StringId="CharacterClasses">The password must have at least 3 of the following:</LocalizedString>
UxElement
La valeur UxElement est utilisée pour localiser l’un des éléments de l’interface utilisateur. L’exemple suivant montre comment localiser les boutons continuer et annuler.
<LocalizedString ElementType="UxElement" StringId="button_continue">Create new account</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_cancel">Cancel</LocalizedString>
DisplayControl
La valeur DisplayControl est utilisée pour localiser l’un des éléments d’interface utilisateur du contrôle d’affichage . Lorsqu’il est activé, le contrôle d’affichage localizedStrings est prioritaire sur certaines des chaînes UxElement comme ver_but_send, ver_but_edit, ver_but_resend et ver_but_verify. L’exemple suivant montre comment localiser les boutons d’envoi et de vérification.
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="but_send_code">Send verification code</LocalizedString>
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="but_verify_code">Verify code</LocalizedString>
Dans la section Métadonnées d’un profil technique autodéclaré, le ContentDefinition référencé doit avoir DataUri défini sur la mise en page version 2.1.0 ou ultérieure. Par exemple:
<ContentDefinition Id="api.selfasserted">
<DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.0</DataUri>
...
Étapes suivantes
Pour voir des exemples de localisation, consultez les articles suivants :