Dela via


Lokalisering, element

Viktigt!

Från och med den 1 maj 2025 är Azure AD B2C inte längre tillgängligt att köpa för nya kunder. Läs mer i våra vanliga frågor och svar.

Anmärkning

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 lokaliseringselementet kan du stödja flera språk eller språk i principen för användarresorna. Med lokaliseringsstödet i principer kan du:

  • Konfigurera den explicita listan över de 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:

Egenskap Krävs Beskrivning
Aktiverad Nej Möjliga värden: true eller false.

Lokaliseringselementet innehåller följande XML-element

Komponent Händelser Beskrivning
Språk som stöds 1:n Lista över språk som stöds.
Lokaliserade resurser 0:n Lista över lokaliserade resurser.

Språk som stöds

Elementet SupportedLanguages innehåller följande attribut:

Egenskap Krävs Beskrivning
StandardSpråk Ja Det språk som ska användas som standard för lokaliserade resurser.
MergeBehavior Nej En uppräkningsvärden för värden som sammanfogas tillsammans med alla ClaimType 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, Prependeller ReplaceAll. Värdet Append anger att samlingen med data som finns ska läggas till i slutet av samlingen som anges i den överordnade principen. Värdet Prepend anger att samlingen med data som finns ska läggas till före den samling som anges i den överordnade principen. Värdet ReplaceAll anger att den samling data som definierats i den överordnade principen ska ignoreras och i stället använda de data som definierats i den aktuella principen.

Språk som stöds

Elementet SupportedLanguages innehåller följande element:

Komponent Händelser Beskrivning
Språk som stöds 1:n Visar innehåll som överensstämmer med en språktagg enligt RFC 5646 – Taggar för att identifiera språk.

Lokaliserade resurser

Elementet LocalizedResources innehåller följande attribut:

Egenskap Krävs Beskrivning
Id Ja En identifierare som används för att unikt identifiera lokaliserade resurser.

Elementet LocalizedResources innehåller följande element:

Komponent Händelser Beskrivning
Lokaliserade samlingar 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 de uppräkningar som visas i anspråkstyper. En lista över länder/regioner visas till exempel för användaren i en listruta.
Lokaliserade strängar 0:n Definierar alla strängar, förutom de strängar som visas i samlingar, i olika kulturer.

Lokaliserade samlingar

Elementet LocalizedCollections innehåller följande element:

Komponent Händelser Beskrivning
Lokaliserad samling 1:n Lista över språk som stöds.

Lokaliserad samling

Elementet LocalizedCollection innehåller följande attribut:

Egenskap Krävs Beskrivning
ElementType (ElementTyp) Ja Refererar till ett ClaimType-element eller ett användargränssnittselement i principfilen.
ElementId (på engelska) Ja En sträng som innehåller en referens till en anspråkstyp som redan har definierats i avsnittet ClaimsSchema och som används om ElementType är inställt på en ClaimType.
Målsamling Ja Målsamlingen.

Elementet LocalizedCollection innehåller följande element:

Komponent Händelser Beskrivning
Objekt 0:n Definierar ett tillgängligt alternativ som användaren kan 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:

Egenskap Krävs Beskrivning
SMS Ja 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 Ja Stränganspråksvärdet som är associerat med att välja det här alternativet.
SelectByDefault (VäljByStandard) Nej 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 livedemon för anspråksbegränsningsuppräkning.

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

Lokaliserade strängar

Elementet LocalizedStrings innehåller följande element:

Komponent Händelser Beskrivning
LocalizedString (på engelska) 1:n En lokaliserad sträng.

Elementet LocalizedString innehåller följande attribut:

Egenskap Krävs Beskrivning
ElementType (ElementTyp) Ja Möjliga värden: ClaimsProvider, ClaimType, ErrorMessage, GetLocalizedStringsTransformationClaimType, FormatLocalizedStringTransformationClaimType, Predicate, PredicateValidation eller UxElement.
ElementId (på engelska) Ja Om ElementType är inställt på ClaimType, Predicate, eller PredicateValidationinnehåller det här elementet en referens till en anspråkstyp som redan har definierats i avsnittet ClaimsSchema.
StringId (på engelska) Ja Om ElementType är inställt på ClaimTypeinnehåller det här elementet en referens till ett attribut av en anspråkstyp. Möjliga värden: DisplayName, AdminHelpTexteller PatternHelpText. Värdet DisplayName används för att ange visningsnamnet för anspråket. 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önstret. Om ElementType är inställt på UxElementinnehåller det här elementet en referens till ett attribut för ett användargränssnittselement. Om ElementType är inställt på ErrorMessageanger det här elementet identifieraren för ett felmeddelande. Se Lokaliseringssträngs-ID:t för en fullständig lista över UxElement identifierarna.

ElementType (ElementTyp)

ElementType-referensen till en anspråkstyp, en anspråkstransformering eller ett användargränssnittselement i principen som ska lokaliseras.

Element som ska lokaliseras ElementType (ElementTyp) ElementId (på engelska) StringId (på engelska)
Namn på identitetsprovider ClaimsProvider ID:t för ClaimsExchange-elementet
Attribut för anspråkstyp ClaimType Namn på anspråkstypen Attributet för anspråket som ska lokaliseras. Möjliga värden: AdminHelpText, DisplayName, PatternHelpTextoch UserHelpText.
Felmeddelande ErrorMessage ID för felmeddelandet
Kopierar lokaliserade strängar till anspråk GetLocalizedStringsTransformationClaimType Namnet på det utgående anspråket
Predikatanvändarmeddelande Predicate Namnet på predikatet Attributet för predikatet som ska lokaliseras. Möjliga värden: HelpText.
Meddelande om predikatgruppanvändare PredicateValidation ID:t för elementet PredicateValidation. ID:t för PredicateGroup-elementet. Predikatgruppen måste vara underordnad predikatvalideringselementet enligt definitionen i ElementId.
Användargränssnittselement UxElement ID för det användargränssnittselement som ska lokaliseras.
Kontroll av bildskärm DisplayControl ID för visningskontrollen. ID för det användargränssnittselement som ska lokaliseras.

Exempel

ClaimsProvider (på engelska)

Värdet ClaimsProvider används för att lokalisera ett av anspråksprovidersns 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åksproviderss visningsnamn.

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

Kravtyp

ClaimType-värdet 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 e-postanspråkstypen.

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

Felmeddelande

ErrorMessage-värdet 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="ResponseMessage_EmailExists" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="responseMsg" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>

I följande exempel visas hur du lokaliserar strängformatet för anspråkstransformeringen 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

Värdet GetLocalizedStringsTransformationClaimType används för att kopiera lokaliserade strängar till anspråk. Mer information finns i GetLocalizedStringsTransformation anspråkstransformering

<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 utgående anspråk för anspråksomvandlingen 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 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 hjälptext för predikat.

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

Predikatvalidering

Värdet PredicateValidation används för att lokalisera ett av felmeddelandena i PredicateValidation-gruppen .

<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älptext för en predikatvalideringsgrupp.

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

UxElement (på engelska)

UxElement-värdet används för att lokalisera ett av elementen i användargränssnittet. 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 (på engelska)

DisplayControl-värdet används för att lokalisera ett av användargränssnittselementen för visningskontrollen . När det här alternativet är aktiverat har visningskontrollen localizedStrings företräde framför några av UxElement StringID:n som ver_but_send, ver_but_edit, ver_but_resend och ver_but_verify. I följande exempel visas hur du lokaliserar knapparna för att 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älvkontrollerad teknisk profil måste den refererade ContentDefinition ha DataUri inställt på sidlayoutversion 2.1.0 eller senare. Till 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: