Elemento de localização
Nota
No Azure Active Directory B2C, as políticas personalizadas são concebidas principalmente para abordar cenários complexos. Para a maioria dos cenários, recomendamos que utilize fluxos de utilizador incorporados. Se ainda não o fez, saiba mais sobre o pacote de introdução de políticas personalizadas em Introdução às políticas personalizadas no Active Directory B2C.
O elemento Localização permite-lhe suportar várias regiões ou idiomas na política para os percursos de utilizador. O suporte de localização em políticas permite-lhe:
- Configure a lista explícita dos idiomas suportados numa política e escolha um idioma predefinido.
- Forneça cadeias e coleções específicas de idiomas.
<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">
...
O elemento Localização contém os seguintes atributos:
Atributo | Necessário | Descrição |
---|---|---|
Ativado | Não | Valores possíveis: true ou false . |
O elemento Localização contém os seguintes elementos XML
Elemento | Ocorrências | Descrição |
---|---|---|
SupportedLanguages | 1:n | Lista de idiomas suportados. |
LocalizedResources | 0:n | Lista de recursos localizados. |
SupportedLanguages
O elemento SupportedLanguages contém os seguintes atributos:
Atributo | Necessário | Descrição |
---|---|---|
DefaultLanguage | Yes | O idioma a utilizar como predefinição para recursos localizados. |
MergeBehavior | No | Uma enumeração de valores que são intercalados juntamente com qualquer ClaimType presente numa política principal com o mesmo identificador. Utilize este atributo quando substituir uma afirmação especificada na política base. Valores possíveis: Append , Prepend ou ReplaceAll . O Append valor especifica que a recolha de dados presentes deve ser anexada ao final da coleção especificada na política principal. O Prepend valor especifica que a recolha de dados presentes deve ser adicionada antes da coleção especificada na política principal. O ReplaceAll valor especifica que a recolha de dados definidos na política principal deve ser ignorada, utilizando, em vez disso, os dados definidos na política atual. |
SupportedLanguages
O elemento SupportedLanguages contém os seguintes elementos:
Elemento | Ocorrências | Descrição |
---|---|---|
SupportedLanguage | 1:n | Apresenta conteúdo em conformidade com uma etiqueta de idioma por RFC 5646 – Etiquetas para Identificar Idiomas. |
LocalizedResources
O elemento LocalizedResources contém os seguintes atributos:
Atributo | Necessário | Descrição |
---|---|---|
Id | Yes | Um identificador que é utilizado para identificar exclusivamente os recursos localizados. |
O elemento LocalizedResources contém os seguintes elementos:
Elemento | Ocorrências | Descrição |
---|---|---|
LocalizedCollections | 0:n | Define coleções inteiras em várias culturas. Uma coleção pode ter um número diferente de itens e cadeias diferentes para várias culturas. Exemplos de coleções incluem as enumerações que aparecem nos tipos de afirmações. Por exemplo, é apresentada uma lista de país/região ao utilizador numa lista pendente. |
LocalizedStrings | 0:n | Define todas as cadeias, exceto as cadeias que aparecem em coleções, em várias culturas. |
LocalizedCollections
O elemento LocalizedCollections contém os seguintes elementos:
Elemento | Ocorrências | Descrição |
---|---|---|
LocalizedCollection | 1:n | Lista de idiomas suportados. |
LocalizedCollection
O elemento LocalizedCollection contém os seguintes atributos:
Atributo | Necessário | Descrição |
---|---|---|
ElementType | Yes | Referencia um elemento ClaimType ou um elemento de interface de utilizador no ficheiro de política. |
ElementId | Yes | Uma cadeia que contém uma referência a um tipo de afirmação já definido na secção ClaimsSchema que é utilizada se ElementType estiver definido como claimType. |
TargetCollection | Yes | A coleção de destino. |
O elemento LocalizedCollection contém os seguintes elementos:
Elemento | Ocorrências | Descrição |
---|---|---|
Item | 0:n | Define uma opção disponível para o utilizador selecionar para uma afirmação na interface de utilizador, como um valor numa lista pendente. |
O elemento Item contém os seguintes atributos:
Atributo | Necessário | Descrição |
---|---|---|
Texto | Yes | A cadeia de apresentação amigável que deve ser apresentada ao utilizador na interface de utilizador para esta opção. |
Valor | Yes | O valor da afirmação de cadeia associado à seleção desta opção. |
SelectByDefault | No | Indica se esta opção deve ou não ser selecionada por predefinição na IU. Valores possíveis: Verdadeiro ou Falso. |
O exemplo seguinte mostra a utilização do elemento LocalizedCollections . Contém dois elementos LocalizedCollection , um para inglês e outro para espanhol. Ambos definem a Coleção de restrições da afirmação Gender
com uma lista de itens para inglês e espanhol. Para obter mais exemplos, consulte a demonstração em direto da enumeração da restrição de afirmações.
<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
O elemento LocalizedStrings contém os seguintes elementos:
Elemento | Ocorrências | Descrição |
---|---|---|
LocalizedString | 1:n | Uma cadeia localizada. |
O elemento LocalizedString contém os seguintes atributos:
Atributo | Necessário | Descrição |
---|---|---|
ElementType | Yes | Valores possíveis: ClaimsProvider, ClaimType, ErrorMessage, GetLocalizedStringsTransformationClaimType, FormatLocalizedStringTransformationClaimType, Predicate, PredicateValidation ou UxElement. |
ElementId | Yes | Se ElementType estiver definido como ClaimType , Predicate ou PredicateValidation , este elemento contém uma referência a um tipo de afirmação já definido na secção ClaimsSchema. |
StringId | Yes | Se ElementType estiver definido como ClaimType , este elemento contém uma referência a um atributo de um tipo de afirmação. Valores possíveis: DisplayName , AdminHelpText ou PatternHelpText . O DisplayName valor é utilizado para definir o nome a apresentar da afirmação. O AdminHelpText valor é utilizado para definir o nome do texto da ajuda do utilizador da afirmação. O PatternHelpText valor é utilizado para definir o texto de ajuda do padrão de afirmação. Se ElementType estiver definido como UxElement , este elemento contém uma referência a um atributo de um elemento de interface de utilizador. Se ElementType estiver definido como ErrorMessage , este elemento especifica o identificador de uma mensagem de erro. Veja IDs da cadeia de localização para obter uma lista completa dos UxElement identificadores. |
ElementType
A referência ElementType a um tipo de afirmação, uma transformação de afirmação ou um elemento de interface de utilizador na política a localizar.
Elemento a localizar | ElementType | ElementId | StringId |
---|---|---|---|
Nome do fornecedor de identidade | ClaimsProvider |
O ID do elemento ClaimsExchange | |
Atributos de tipo de afirmação | ClaimType |
Nome do tipo de afirmação | O atributo da afirmação a localizar. Valores possíveis: AdminHelpText , , DisplayName PatternHelpText e UserHelpText . |
Mensagem de erro | ErrorMessage |
O ID da mensagem de erro | |
Copia cadeias localizadas para afirmações | GetLocalizedStringsTra nsformationClaimType |
O nome da afirmação de saída | |
Predicar mensagem de utilizador | Predicate |
O nome do predicado | O atributo do predicado a ser localizado. Valores possíveis: HelpText . |
Predicar mensagem de utilizador do grupo | PredicateValidation |
O ID do elemento PredicateValidation. | O ID do elemento PredicateGroup. O grupo predicado tem de ser um subordinado do elemento de validação predicado, conforme definido no ElementId. |
Elementos da interface de utilizador | UxElement |
O ID do elemento da interface de utilizador a localizar. | |
Controlo de Apresentação | DisplayControl |
O ID do controlo de apresentação. | O ID do elemento da interface de utilizador a localizar. |
Exemplos
ClaimsProvider
O valor ClaimsProvider é utilizado para localizar um dos fornecedores de afirmações com o nome a apresentar.
<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>
O exemplo seguinte mostra como localizar o nome a apresentar dos fornecedores de afirmações.
<LocalizedString ElementType="ClaimsProvider" StringId="FacebookExchange">Facebook</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="GoogleExchange">Google</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="LinkedInExchange">LinkedIn</LocalizedString>
ClaimType
O valor ClaimType é utilizado para localizar um dos atributos de afirmação.
<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>
O exemplo seguinte mostra como localizar os atributos DisplayName, UserHelpText e PatternHelpText do tipo de afirmação de e-mail.
<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
O valor ErrorMessage é utilizado para localizar uma das mensagens de erro do sistema.
<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>
O exemplo seguinte mostra como localizar a mensagem de erro UserMessageIfClaimsPrincipalAlreadyExists.
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">The account you are trying to create already exists, please sign-in.</LocalizedString>
FormatLocalizedStringTransformationClaimType
O valor FormatLocalizedStringTransformationClaimType é utilizado para formatar afirmações numa cadeia localizada. Para obter mais informações, veja FormatLocalizedString claims transformation (Transformação de afirmações 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>
O exemplo seguinte mostra como localizar o formato de cadeia da transformação de afirmações 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
O valor GetLocalizedStringsTransformationClaimType é utilizado para copiar cadeias localizadas para afirmações. Para obter mais informações, veja GetLocalizedStringsTransformation claims transformation (Transformação de afirmações 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>
O exemplo seguinte mostra como localizar afirmações de saída da transformação de afirmações 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>
Predicar
O valor Predicado é utilizado para localizar uma das mensagens de erro Predicado .
<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>
O exemplo seguinte mostra como localizar o texto de ajuda dos predicados.
<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
O valor PredicateValidation é utilizado para localizar uma das mensagens de erro do grupo 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>
O exemplo seguinte mostra como localizar um texto de ajuda do grupo de validação de predicados.
<LocalizedString ElementType="PredicateValidation" ElementId="CustomPassword" StringId="CharacterClasses">The password must have at least 3 of the following:</LocalizedString>
UxElement
O valor UxElement é utilizado para localizar um dos elementos da interface de utilizador. O exemplo seguinte mostra como localizar os botões continuar e cancelar.
<LocalizedString ElementType="UxElement" StringId="button_continue">Create new account</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_cancel">Cancel</LocalizedString>
DisplayControl
O valor DisplayControl é utilizado para localizar um dos elementos da interface de utilizador Controlo de apresentação . Quando ativado, o controlo de visualização localizedStrings tem precedência sobre alguns dos StringIDs do UxElement , como ver_but_send, ver_but_edit, ver_but_resend e ver_but_verify. O exemplo seguinte mostra como localizar os botões enviar e verificar.
<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>
Na secção Metadados de um perfil técnico auto-afirmado, a ContentDefinition referenciada tem de ter o DataUri definido para a versão de esquema de página 2.1.0 ou superior. Por exemplo:
<ContentDefinition Id="api.selfasserted">
<DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.0</DataUri>
...
Passos seguintes
Veja os seguintes artigos para obter exemplos de localização: