Lokalisatie-element

Notitie

In Azure Active Directory B2C is een aangepast beleid voornamelijk bedoeld om complexe scenario's aan te pakken. Voor de meeste scenario's raden we u aan de ingebouwde gebruikersstromen te gebruiken. Als u dit nog niet hebt gedaan, vindt u meer informatie over aangepast beleid in het starterspakket in Aan de slag met aangepaste beleidsregels in Active Directory B2C.

Met het element Lokalisatie kunt u meerdere landinstellingen of talen in het beleid voor de gebruikersbelevingen ondersteunen. Met de lokalisatieondersteuning in beleidsregels kunt u het volgende doen:

  • Stel de expliciete lijst met ondersteunde talen in een beleid in en kies een standaardtaal.
  • Geef taalspecifieke tekenreeksen en verzamelingen op.
<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">
  ...

Het lokalisatie-element bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
Ingeschakeld No Mogelijke waarden: true of false.

Het lokalisatie-element bevat de volgende XML-elementen

Element Instanties Description
SupportedLanguages 1:n Lijst met ondersteunde talen.
LocalizedResources 0:n Lijst met gelokaliseerde resources.

SupportedLanguages

Het element SupportedLanguages bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
DefaultLanguage Yes De taal die moet worden gebruikt als de standaardtaal voor gelokaliseerde resources.
MergeBehavior No Een opsommingswaarden van waarden die zijn samengevoegd met een ClaimType dat aanwezig is in een bovenliggend beleid met dezelfde id. Gebruik dit kenmerk wanneer u een claim overschrijft die is opgegeven in het basisbeleid. Mogelijke waarden: Append, Prependof ReplaceAll. De Append waarde geeft aan dat de verzameling aanwezige gegevens moet worden toegevoegd aan het einde van de verzameling die is opgegeven in het bovenliggende beleid. De Prepend waarde geeft aan dat de verzameling aanwezige gegevens moet worden toegevoegd vóór de verzameling die is opgegeven in het bovenliggende beleid. De ReplaceAll waarde geeft aan dat de verzameling gegevens die in het bovenliggende beleid zijn gedefinieerd, moet worden genegeerd, waarbij in plaats daarvan de gegevens worden gebruikt die zijn gedefinieerd in het huidige beleid.

SupportedLanguages

Het element SupportedLanguages bevat de volgende elementen:

Element Instanties Description
SupportedLanguage 1:n Geeft inhoud weer die voldoet aan een taaltag per RFC 5646 - Tags voor identificerende talen.

LocalizedResources

Het element LocalizedResources bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
Id Yes Een id die wordt gebruikt om gelokaliseerde resources op unieke wijze te identificeren.

Het element LocalizedResources bevat de volgende elementen:

Element Instanties Description
GelokaliseerdeCollections 0:n Definieert volledige verzamelingen in verschillende culturen. Een verzameling kan een verschillend aantal items en verschillende tekenreeksen voor verschillende culturen hebben. Voorbeelden van verzamelingen zijn de opsommingen die worden weergegeven in claimtypen. Een lijst met landen/regio's wordt bijvoorbeeld weergegeven aan de gebruiker in een vervolgkeuzelijst.
LocalizedStrings 0:n Definieert alle tekenreeksen, met uitzondering van de tekenreeksen die worden weergegeven in verzamelingen, in verschillende culturen.

GelokaliseerdeCollections

Het element LocalizedCollections bevat de volgende elementen:

Element Instanties Description
LocalizedCollection 1:n Lijst met ondersteunde talen.

LocalizedCollection

Het element LocalizedCollection bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
ElementType Yes Verwijst naar een ClaimType-element of een gebruikersinterface-element in het beleidsbestand.
ElementId Yes Een tekenreeks die een verwijzing bevat naar een claimtype dat al is gedefinieerd in de sectie ClaimsSchema die wordt gebruikt als ElementType is ingesteld op een ClaimType.
TargetCollection Yes De doelverzameling.

Het element LocalizedCollection bevat de volgende elementen:

Element Instanties Description
Item 0:n Hiermee definieert u een beschikbare optie die de gebruiker kan selecteren voor een claim in de gebruikersinterface, zoals een waarde in een vervolgkeuzelijst.

Het element Item bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
Tekst Yes De gebruiksvriendelijke weergavetekenreeks die voor deze optie moet worden weergegeven aan de gebruiker in de gebruikersinterface.
Waarde Yes De waarde van de tekenreeksclaim die is gekoppeld aan het selecteren van deze optie.
SelectByDefault No Hiermee wordt aangegeven of deze optie standaard moet worden geselecteerd in de gebruikersinterface. Mogelijke waarden: Waar of Onwaar.

In het volgende voorbeeld ziet u het gebruik van het element LocalizedCollections . Het bevat twee LocalizedCollection-elementen , één voor Engels en een andere voor Spaans. Beide stellen de beperkingsverzameling van de claim Gender in met een lijst met items voor Engels en Spaans. Bekijk de livedemo Claimbeperkingsinventarisatie voor meer voorbeelden.

<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

Het element LocalizedStrings bevat de volgende elementen:

Element Instanties Description
LocalizedString 1:n Een gelokaliseerde tekenreeks.

Het element LocalizedString bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
ElementType Yes Mogelijke waarden: ClaimsProvider, ClaimType, ErrorMessage, GetLocalizedStringsTransformationClaimType, FormatLocalizedStringTransformationClaimType, Predicate, PredicateValidation of UxElement.
ElementId Yes Als ElementType is ingesteld op ClaimType, Predicateof PredicateValidation, bevat dit element een verwijzing naar een claimtype dat al is gedefinieerd in de sectie ClaimsSchema.
StringId Yes Als ElementType is ingesteld op ClaimType, bevat dit element een verwijzing naar een kenmerk van een claimtype. Mogelijke waarden: DisplayName, AdminHelpTextof PatternHelpText. De DisplayName waarde wordt gebruikt om de weergavenaam van de claim in te stellen. De AdminHelpText waarde wordt gebruikt om de naam van de Help-tekst van de claimgebruiker in te stellen. De PatternHelpText waarde wordt gebruikt om de helptekst van het claimpatroon in te stellen. Als ElementType is ingesteld op UxElement, bevat dit element een verwijzing naar een kenmerk van een gebruikersinterface-element. Als ElementType is ingesteld op ErrorMessage, geeft dit element de id van een foutbericht op. Zie Lokalisatietekenreeks-id's voor een volledige lijst met de UxElement id's.

ElementType

De ElementType-verwijzing naar een claimtype, een claimtransformatie of een gebruikersinterface-element in het beleid dat moet worden gelokaliseerd.

Te lokaliseren element ElementType ElementId StringId
Naam van id-provider ClaimsProvider De id van het element ClaimsExchange
Kenmerken van claimtype ClaimType Naam van het claimtype Het kenmerk van de claim die moet worden gelokaliseerd. Mogelijke waarden: AdminHelpText, DisplayName, PatternHelpText en UserHelpText.
Foutbericht ErrorMessage De id van het foutbericht
Gelokaliseerde tekenreeksen naar claims kopiëren GetLocalizedStringsTra nsformationClaimType De naam van de uitvoerclaim
Predicaat gebruikersbericht Predicate De naam van het predicaat Het kenmerk van het te lokaliseren predicaat. Mogelijke waarden: HelpText.
Predicaatgroep gebruikersbericht PredicateValidation De id van het element PredicateValidation. De id van het element PredicateGroup. De predicaatgroep moet een onderliggend element zijn van het predicaatvalidatie-element zoals gedefinieerd in de ElementId.
Elementen van de gebruikersinterface UxElement De id van het element van de gebruikersinterface dat moet worden gelokaliseerd.
Besturingselement weergeven DisplayControl De id van het weergave-besturingselement. De id van het element van de gebruikersinterface dat moet worden gelokaliseerd.

Voorbeelden

ClaimsProvider

De waarde ClaimsProvider wordt gebruikt om een van de weergavenaam van de claimproviders te lokaliseren.

<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>

In het volgende voorbeeld ziet u hoe u de weergavenaam van claimproviders kunt lokaliseren.

<LocalizedString ElementType="ClaimsProvider" StringId="FacebookExchange">Facebook</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="GoogleExchange">Google</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="LinkedInExchange">LinkedIn</LocalizedString>

ClaimType

De waarde ClaimType wordt gebruikt om een van de claimkenmerken te lokaliseren.

<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>

In het volgende voorbeeld ziet u hoe u de kenmerken DisplayName, UserHelpText en PatternHelpText van het claimtype e-mail lokaliseert.

<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

De waarde ErrorMessage wordt gebruikt om een van de systeemfoutberichten te lokaliseren.

<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>

In het volgende voorbeeld ziet u hoe u het foutbericht UserMessageIfClaimsPrincipalAlreadyExists kunt lokaliseren.

<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">The account you are trying to create already exists, please sign-in.</LocalizedString>

FormatLocalizedStringTransformationClaimType

De waarde FormatLocalizedStringTransformationClaimType wordt gebruikt om claims op te maken in een gelokaliseerde tekenreeks. Zie FormatLocalizedString-claimtransformatie voor meer informatie

<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>

In het volgende voorbeeld ziet u hoe u de tekenreeksindeling van de claimtransformatie FormatLocalizedStringTransformationClaimType kunt lokaliseren.

<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

De waarde GetLocalizedStringsTransformationClaimType wordt gebruikt om gelokaliseerde tekenreeksen naar claims te kopiëren. Zie GetLocalizedStringsTransformation-claimtransformatie voor meer informatie

<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>

In het volgende voorbeeld ziet u hoe u uitvoerclaims van de claimtransformatie GetLocalizedStringsTransformation kunt lokaliseren.

<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>

Predicaat

De predicaatwaarde wordt gebruikt om een van de foutberichten predicaat te lokaliseren .

<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>

In het volgende voorbeeld ziet u hoe u help-tekst voor predicaten kunt lokaliseren.

<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

De waarde PredicateValidation wordt gebruikt om een van de foutberichten van de PredicateValidation-groep te lokaliseren.

<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>

In het volgende voorbeeld ziet u hoe u helptekst van een predicaatvalidatiegroep kunt lokaliseren.

<LocalizedString ElementType="PredicateValidation" ElementId="CustomPassword" StringId="CharacterClasses">The password must have at least 3 of the following:</LocalizedString>

UxElement

De waarde UxElement wordt gebruikt om een van de elementen van de gebruikersinterface te lokaliseren. In het volgende voorbeeld ziet u hoe u de knoppen Doorgaan en Annuleren kunt lokaliseren.

<LocalizedString ElementType="UxElement" StringId="button_continue">Create new account</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_cancel">Cancel</LocalizedString>

DisplayControl

De waarde DisplayControl wordt gebruikt om een van de elementen van de gebruikersinterface van display Control te lokaliseren. Wanneer dit is ingeschakeld, heeft het weergavebeheer localizedStrings voorrang op een aantal string-id's van UxElement , zoals ver_but_send, ver_but_edit, ver_but_resend en ver_but_verify. In het volgende voorbeeld ziet u hoe u de knoppen voor verzenden en controleren kunt lokaliseren.

<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>

In de sectie Metagegevens van een zelf-gecontroleerd technisch profiel moet DataUri zijn ingesteld op pagina-indeling versie 2.1.0 of hoger van de ContentDefinition waarnaar wordt verwezen. Bijvoorbeeld:

<ContentDefinition Id="api.selfasserted">
  <DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.0</DataUri>
  ...

Volgende stappen

Zie de volgende artikelen voor voorbeelden van lokalisaties: