Lokaliseringselement
Anteckning
I Azure Active Directory B2C är anpassade principer främst utformade för att hantera komplexa scenarier. I de flesta scenarier rekommenderar vi att du använder inbyggda användarflöden. Om du inte har gjort det kan du läsa mer om startpaketet för anpassad princip i Kom igång med anpassade principer i Active Directory B2C.
Med elementet Lokalisering kan du stödja flera nationella inställningar eller språk i principen för användarresorna. Med lokaliseringsstödet i principer kan du:
- Konfigurera den explicita listan över språk som stöds i en princip och välj ett standardspråk.
- Ange språkspecifika strängar och samlingar.
<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">
...
Lokaliseringselementet innehåller följande attribut:
Attribut | Krävs | Description |
---|---|---|
Enabled | No | Möjliga värden: true eller false . |
Lokaliseringselementet innehåller följande XML-element
Element | Händelser | Description |
---|---|---|
SupportedLanguages | 1:n | Lista över språk som stöds. |
LocalizedResources | 0:n | Lista över lokaliserade resurser. |
SupportedLanguages
Elementet SupportedLanguages innehåller följande attribut:
Attribut | Krävs | Beskrivning |
---|---|---|
DefaultLanguage | Yes | Det språk som ska användas som standard för lokaliserade resurser. |
MergeBehavior | No | Uppräkningsvärden för värden som sammanfogas tillsammans med alla ClaimType-värden som finns i en överordnad princip med samma identifierare. Använd det här attributet när du skriver över ett anspråk som anges i basprincipen. Möjliga värden: Append , Prepend eller ReplaceAll . Värdet Append anger att insamlingen av data som finns ska läggas till i slutet av samlingen som anges i den överordnade principen. Värdet Prepend anger att insamlingen av data som finns ska läggas till innan samlingen som anges i den överordnade principen. Värdet ReplaceAll anger att datainsamlingen som definierats i den överordnade principen ska ignoreras, med hjälp av de data som definierats i den aktuella principen i stället. |
SupportedLanguages
Elementet SupportedLanguages innehåller följande element:
Element | Händelser | Description |
---|---|---|
SupportedLanguage | 1:n | Visar innehåll som överensstämmer med en språktagg per RFC 5646 – Taggar för att identifiera språk. |
LocalizedResources
Elementet LocalizedResources innehåller följande attribut:
Attribut | Krävs | Beskrivning |
---|---|---|
Id | Yes | En identifierare som används för att unikt identifiera lokaliserade resurser. |
Elementet LocalizedResources innehåller följande element:
Element | Händelser | Description |
---|---|---|
LocalizedCollections | 0:n | Definierar hela samlingar i olika kulturer. En samling kan ha olika antal objekt och olika strängar för olika kulturer. Exempel på samlingar är uppräkningar som visas i anspråkstyper. Till exempel visas en land-/regionlista för användaren i en listruta. |
LocalizedStrings | 0:n | Definierar alla strängar, förutom de strängar som visas i samlingar, i olika kulturer. |
LocalizedCollections
Elementet LocalizedCollections innehåller följande element:
Element | Händelser | Description |
---|---|---|
LocalizedCollection | 1:n | Lista över språk som stöds. |
LocalizedCollection
Elementet LocalizedCollection innehåller följande attribut:
Attribut | Krävs | Beskrivning |
---|---|---|
ElementType | Yes | Refererar till ett ClaimType-element eller ett användargränssnittselement i principfilen. |
ElementId | Yes | En sträng som innehåller en referens till en anspråkstyp som redan har definierats i avsnittet ClaimsSchema som används om ElementType är inställt på en ClaimType. |
TargetCollection | Yes | Målsamlingen. |
Elementet LocalizedCollection innehåller följande element:
Element | Händelser | Description |
---|---|---|
Objekt | 0:n | Definierar ett tillgängligt alternativ för användaren att välja för ett anspråk i användargränssnittet, till exempel ett värde i en listruta. |
Elementet Item innehåller följande attribut:
Attribut | Krävs | Beskrivning |
---|---|---|
Text | Yes | Den användarvänliga visningssträngen som ska visas för användaren i användargränssnittet för det här alternativet. |
Värde | Yes | Det stränganspråksvärde som är associerat med att välja det här alternativet. |
SelectByDefault | No | Anger om det här alternativet ska väljas som standard i användargränssnittet. Möjliga värden: Sant eller Falskt. |
I följande exempel visas användningen av elementet LocalizedCollections . Den innehåller två LocalizedCollection-element , ett för engelska och ett annat för spanska. Båda anger begränsningssamlingen för anspråket Gender
med en lista över objekt för engelska och spanska. Fler exempel finns i liveuppräkningen för anspråksbegränsning.
<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
Elementet LocalizedStrings innehåller följande element:
Element | Händelser | Description |
---|---|---|
LocalizedString | 1:n | En lokaliserad sträng. |
Elementet LocalizedString innehåller följande attribut:
Attribut | Krävs | Beskrivning |
---|---|---|
ElementType | Yes | Möjliga värden: ClaimsProvider, ClaimType, ErrorMessage, GetLocalizedStringsTransformationClaimType, FormatLocalizedStringTransformationClaimType, Predicate, PredicateValidation eller UxElement. |
ElementId | Yes | Om ElementType är inställt på ClaimType , Predicate eller PredicateValidation , innehåller det här elementet en referens till en anspråkstyp som redan har definierats i avsnittet ClaimsSchema. |
StringId | Yes | Om ElementType är inställt på ClaimType innehåller det här elementet en referens till ett attribut av en anspråkstyp. Möjliga värden: DisplayName , AdminHelpText eller PatternHelpText . Värdet DisplayName används för att ange anspråksvisningsnamnet. Värdet AdminHelpText används för att ange hjälptextnamnet för anspråksanvändaren. Värdet PatternHelpText används för att ange hjälptexten för anspråksmönster. Om ElementType är inställt på UxElement innehåller det här elementet en referens till ett attribut för ett användargränssnittselement. Om ElementType är inställt på ErrorMessage anger det här elementet identifieraren för ett felmeddelande. Se Lokaliseringssträngs-ID: t för en fullständig lista över identifierarna UxElement . |
ElementType
ElementType-referensen till en anspråkstyp, en anspråkstransformering eller ett användargränssnittselement i principen som ska lokaliseras.
Element som ska lokaliseras | ElementType | ElementId | StringId |
---|---|---|---|
Identitetsproviderns namn | ClaimsProvider |
ID för elementet ClaimsExchange | |
Anspråkstypattribut | ClaimType |
Namn på anspråkstypen | Attributet för anspråket som ska lokaliseras. Möjliga värden: AdminHelpText , DisplayName , PatternHelpText och UserHelpText . |
Felmeddelande | ErrorMessage |
ID:t för felmeddelandet | |
Kopierar lokaliserade strängar till anspråk | GetLocalizedStringsTra nsformationClaimType |
Namnet på utdataanspråket | |
Predikat användarmeddelande | Predicate |
Namnet på predikatet | Attributet för predikatet som ska lokaliseras. Möjliga värden: HelpText . |
Användarmeddelande för predikatgrupp | PredicateValidation |
ID för elementet PredicateValidation. | ID för elementet PredicateGroup. Predikatgruppen måste vara underordnad det predikatvalideringselement som definieras i ElementId. |
Element för användargränssnitt | UxElement |
ID för användargränssnittselementet som ska lokaliseras. | |
Visningskontroll | DisplayControl |
ID för visningskontrollen. | ID för användargränssnittselementet som ska lokaliseras. |
Exempel
ClaimsProvider
Värdet ClaimsProvider används för att lokalisera en av anspråksproviderns visningsnamn.
<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>
I följande exempel visas hur du lokaliserar anspråksproviders visningsnamn.
<LocalizedString ElementType="ClaimsProvider" StringId="FacebookExchange">Facebook</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="GoogleExchange">Google</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="LinkedInExchange">LinkedIn</LocalizedString>
ClaimType
Värdet ClaimType används för att lokalisera ett av anspråksattributen.
<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>
I följande exempel visas hur du lokaliserar attributen DisplayName, UserHelpText och PatternHelpText för anspråkstypen för e-post.
<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>
ErrorMessage
Värdet ErrorMessage används för att lokalisera ett av systemfelmeddelandena.
<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>
I följande exempel visas hur du lokaliserar felmeddelandet UserMessageIfClaimsPrincipalAlreadyExists.
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">The account you are trying to create already exists, please sign-in.</LocalizedString>
FormatLocalizedStringTransformationClaimType
Värdet FormatLocalizedStringTransformationClaimType används för att formatera anspråk till en lokaliserad sträng. Mer information finns i FormatLocalizedString-anspråkstransformering
<ClaimsTransformation Id="SetResponseMessageForEmailAlreadyExists" TransformationMethod="FormatLocalizedString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" />
</InputClaims>
<InputParameters>
<InputParameter Id="stringFormatId" DataType="string" Value="ResponseMessge_EmailExists" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="responseMsg" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
I följande exempel visas hur du lokaliserar strängformatet för anspråkstransformationen FormatLocalizedStringTransformationClaimType.
<LocalizedString ElementType="FormatLocalizedStringTransformationClaimType" StringId="ResponseMessge_EmailExists">The email '{0}' is already an account in this organization. Click Next to sign in with that account.</LocalizedString>
GetLocalizedStringsTransformationClaimType
Värdet GetLocalizedStringsTransformationClaimType används för att kopiera lokaliserade strängar till anspråk. Mer information finns i GetLocalizedStringsTransformation claims transformation
<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>
I följande exempel visas hur du lokaliserar utdataanspråk för anspråkstransformationen 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>
Predikat
Predikatvärdet används för att lokalisera ett av de predikatfelmeddelandena .
<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>
I följande exempel visas hur du lokaliserar predikathjälptext.
<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
Värdet PredicateValidation används för att lokalisera ett av felmeddelandena för gruppen 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>
I följande exempel visas hur du lokaliserar hjälptexten för en predikatverifieringsgrupp.
<LocalizedString ElementType="PredicateValidation" ElementId="CustomPassword" StringId="CharacterClasses">The password must have at least 3 of the following:</LocalizedString>
UxElement
Värdet UxElement används för att lokalisera ett av användargränssnittselementen. I följande exempel visas hur du lokaliserar knapparna Fortsätt och Avbryt.
<LocalizedString ElementType="UxElement" StringId="button_continue">Create new account</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_cancel">Cancel</LocalizedString>
DisplayControl
DisplayControl-värdet används för att lokalisera ett av gränssnittselementen för visningskontroll . När den är aktiverad har visningskontrollen localizedStrings företräde framför några av UxElement StringID:erna som ver_but_send, ver_but_edit, ver_but_resend och ver_but_verify. I följande exempel visas hur du lokaliserar knapparna skicka och verifiera.
<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>
I avsnittet Metadata i en självsäkrad teknisk profil måste det refererade ContentDefinition ha DataUri inställt på sidlayout version 2.1.0 eller senare. Exempel:
<ContentDefinition Id="api.selfasserted">
<DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.0</DataUri>
...
Nästa steg
Se följande artiklar för lokaliseringsexempel: