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 , Prepend nebo 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 , Predicate nebo 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 , AdminHelpText nebo 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 , PatternHelpText a 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: