Element Lokalizace

Poznámka

V Azure Active Directory B2C jsou vlastní zásady navržené primárně tak, aby řešily složité scénáře. Ve většině scénářů doporučujeme používat předdefinované toky uživatelů. Pokud jste to neudělali, přečtěte si informace o úvodním balíčku vlastních zásad v tématu Začínáme s vlastními zásadami v Active Directory B2C.

Element Localization umožňuje podporu více národních prostředí nebo jazyků v zásadách pro cesty uživatele. Podpora lokalizace v zásadách umožňuje:

  • Nastavte explicitní seznam podporovaných jazyků v zásadách a vyberte výchozí jazyk.
  • Zadejte řetězce a kolekce specifické pro konkrétní jazyk.
<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">
  ...

Element Localization obsahuje následující atributy:

Atribut Povinné Description
Povoleno No Možné hodnoty: true nebo false.

Element Localization obsahuje následující elementy XML.

Prvek Výskyty Description
Podporované jazyky 1:n Seznam podporovaných jazyků
LocalizedResources 0:n Seznam lokalizovaných prostředků

Podporované jazyky

Element SupportedLanguages obsahuje následující atributy:

Atribut Povinné Popis
DefaultLanguage Yes Jazyk, který se použije jako výchozí pro lokalizované prostředky.
MergeBehavior No Výčtové hodnoty hodnot, které jsou sloučeny společně s libovolným ClaimType přítomným v nadřazené zásadě se stejným identifikátorem. Tento atribut použijte při přepsání deklarace identity zadané v základních zásadách. Možné hodnoty: Append, Prependnebo ReplaceAll. Hodnota Append určuje, že kolekce přítomných dat by měla být připojena na konec kolekce určené v nadřazené zásadě. Hodnota Prepend určuje, že kolekce přítomných dat by měla být přidána před kolekci zadanou v nadřazené zásadě. Hodnota ReplaceAll určuje, že by se měla ignorovat kolekce dat definovaná v nadřazené zásadě, místo toho se používají data definovaná v aktuálních zásadách.

Podporované jazyky

Element SupportedLanguages obsahuje následující prvky:

Prvek Výskyty Description
Podporovaný jazyk 1:n Zobrazí obsah, který odpovídá značce jazyka podle DOKUMENTU RFC 5646 – Značky pro identifikaci jazyků.

LocalizedResources

Element LocalizedResources obsahuje následující atributy:

Atribut Povinné Popis
Id Yes Identifikátor, který se používá k jednoznačné identifikaci lokalizovaných prostředků.

Element LocalizedResources obsahuje následující prvky:

Prvek Výskyty Description
LocalizedCollections 0:n Definuje celé kolekce v různých jazykových verzích. Kolekce může mít různý počet položek a různé řetězce pro různé jazykové verze. Mezi příklady kolekcí patří výčty, které se zobrazují v typech deklarací identity. Například seznam zemí/oblastí se uživateli zobrazí v rozevíracím seznamu.
Lokalizované řetězce 0:n Definuje všechny řetězce s výjimkou těch, které se zobrazují v kolekcích, v různých jazykových verzích.

LocalizedCollections

Element LocalizedCollections obsahuje následující prvky:

Prvek Výskyty Description
LocalizedCollection 1:n Seznam podporovaných jazyků

LocalizedCollection

Element LocalizedCollection obsahuje následující atributy:

Atribut Povinné Popis
Typ elementu Yes Odkazuje na element ClaimType nebo prvek uživatelského rozhraní v souboru zásad.
Id elementu Yes Řetězec, který obsahuje odkaz na typ deklarace identity již definovaný v části ClaimsSchema, která se používá, pokud ElementType je nastavena na ClaimType.
Cílová kolekce Yes Cílová kolekce.

Element LocalizedCollection obsahuje následující prvky:

Prvek Výskyty Description
Položka 0:n Definuje dostupnou možnost, kterou uživatel může vybrat pro deklaraci identity v uživatelském rozhraní, například hodnotu v rozevíracím seznamu.

Element Item obsahuje následující atributy:

Atribut Povinné Popis
Text Yes Uživatelsky přívětivý zobrazovaný řetězec, který by se měl uživateli zobrazit v uživatelském rozhraní pro tuto možnost.
Hodnota Yes Hodnota deklarace identity řetězce přidružená k výběru této možnosti.
SelectByDefault No Určuje, jestli má být tato možnost ve výchozím nastavení v uživatelském rozhraní vybraná. Možné hodnoty: Pravda nebo Nepravda.

Následující příklad ukazuje použití LocalizedCollections element. Obsahuje dva prvky LocalizedCollection , jeden pro angličtinu a druhý pro španělštinu. Obě sady nastaví kolekci Omezení deklarace se Gender seznamem položek pro angličtinu a španělštinu. Další ukázky najdete v živé ukázce výčtu omezení deklarací identity.

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

Lokalizované řetězce

Element LocalizedStrings obsahuje následující prvky:

Prvek Výskyty Description
Lokalizovaný řetězec 1:n Lokalizovaný řetězec.

Element LocalizedString obsahuje následující atributy:

Atribut Povinné Popis
Typ elementu Yes Možné hodnoty: ClaimsProvider, ClaimType, ErrorMessage, GetLocalizedStringsTransformationClaimType, FormatLocalizedStringTransformationClaimType, Predicate, PredicateValidation nebo UxElement.
Id elementu Yes Pokud elementType je nastavena na ClaimType, Predicatenebo PredicateValidation, obsahuje tento element odkaz na typ deklarace identity již definovaný v části ClaimsSchema.
StringId Yes Pokud ElementType je nastaven na ClaimType, tento prvek obsahuje odkaz na atribut typu deklarace identity. Možné hodnoty: DisplayName, AdminHelpTextnebo PatternHelpText. Hodnota se DisplayName používá k nastavení zobrazovaný název deklarace identity. Hodnota AdminHelpText slouží k nastavení textového názvu nápovědy uživatele deklarace identity. Hodnota se PatternHelpText používá k nastavení textu nápovědy ke vzoru deklarace identity. Pokud ElementType je nastaven na UxElement, tento prvek obsahuje odkaz na atribut prvku uživatelského rozhraní. Pokud elementType je nastaven na ErrorMessage, tento prvek určuje identifikátor chybové zprávy. Úplný seznam identifikátorů najdete v UxElement tématu ID lokalizačních řetězců.

Typ elementu

ElementType odkazuje na typ deklarace identity, transformaci deklarace identity nebo prvek uživatelského rozhraní v zásadách, které se mají lokalizovat.

Element pro lokalizaci Typ elementu Id elementu StringId
Název zprostředkovatele identity ClaimsProvider ID elementu ClaimsExchange
Atributy typu deklarace identity ClaimType Název typu deklarace identity Atribut deklarace identity, která se má lokalizovat. Možné hodnoty: AdminHelpText, DisplayName, PatternHelpTexta UserHelpText.
Chybová zpráva ErrorMessage ID chybové zprávy
Zkopíruje lokalizované řetězce do deklarací identity. GetLocalizedStringsTra nsformationClaimType Název výstupní deklarace identity
Predikát uživatelské zprávy Predicate Název predikátu Atribut predikátu, který se má lokalizovat. Možné hodnoty: HelpText.
Predikát zprávy uživatele skupiny PredicateValidation ID elementu PredikateValidation. ID elementu PredicateGroup. Skupina predikátu musí být podřízená elementu ověření predikátu, jak je definováno v ElementId.
Prvky uživatelského rozhraní UxElement ID elementu uživatelského rozhraní, který se má lokalizovat.
Ovládací prvek zobrazení DisplayControl ID ovládacího prvku zobrazení. ID elementu uživatelského rozhraní, který se má lokalizovat.

Příklady

ClaimsProvider

Hodnota ClaimsProvider slouží k lokalizaci zobrazovaného názvu zprostředkovatele deklarací identity.

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

Následující příklad ukazuje, jak lokalizovat zobrazovaný název zprostředkovatelů deklarací identity.

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

Typ deklarace identity

Hodnota ClaimType se používá k lokalizaci jednoho z atributů deklarací identity.

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

Následující příklad ukazuje, jak lokalizovat DisplayName, UserHelpText a PatternHelpText atributy typu deklarace e-mailu.

<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

Hodnota ErrorMessage se používá k lokalizaci jedné ze systémových chybových zpráv.

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

Následující příklad ukazuje, jak lokalizovat chybovou zprávu UserMessageIfClaimsPrincipalAlreadyExists.

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

FormatLocalizedStringTransformationClaimType

Hodnota FormatLocalizedStringTransformationClaimType slouží k formátování deklarací identity do lokalizovaného řetězce. Další informace najdete v tématu Transformace deklarací identity FormatLocalizedString.

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

Následující příklad ukazuje, jak lokalizovat formát řetězce FormatLocalizedStringTransformationClaimType transformace deklarací identity.

<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

Hodnota GetLocalizedStringsTransformationClaimType se používá ke kopírování lokalizovaných řetězců do deklarací identity. Další informace najdete v tématu Transformace deklarací identity 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>

Následující příklad ukazuje, jak lokalizovat výstupní deklarace identity GetLocalizedStringsTransformation transformace deklarací identity.

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

Predikátu

Hodnota predikátu slouží k lokalizaci jedné z chybových zpráv predikátu .

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

Následující příklad ukazuje, jak lokalizovat text nápovědy predikáty.

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

PredikátValidace

Hodnota PredikateValidation se používá k lokalizaci jedné z chybových zpráv skupiny PredikateValidation .

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

Následující příklad ukazuje, jak lokalizovat text nápovědy skupiny pro ověření predikátu.

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

UxElement

Hodnota UxElement slouží k lokalizaci jednoho z prvků uživatelského rozhraní. Následující příklad ukazuje, jak lokalizovat tlačítka pokračovat a zrušit.

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

Ovládací prvek DisplayControl

Hodnota DisplayControl slouží k lokalizaci jednoho z prvků uživatelského rozhraní ovládací prvek zobrazení . Pokud je povoleno, má ovládací prvek zobrazení lokalizovanéStrings přednost před některými identifikátory UxElement StringID, jako jsou ver_but_send, ver_but_edit, ver_but_resend a ver_but_verify. Následující příklad ukazuje, jak lokalizovat tlačítka odeslat a ověřit.

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

V oddílu Metadata samostatného technického profilu musí odkazovaná definice ContentDefinition mít identifikátor DataUri nastavený na rozložení stránky verze 2.1.0 nebo vyšší. Příklad:

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

Další kroky

Příklady lokalizace najdete v následujících článcích: