Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Uwaga / Notatka
W usłudze Azure Active Directory B2C niestandardowe zasady są przeznaczone głównie do rozwiązywania złożonych scenariuszy. W przypadku większości scenariuszy zalecamy używanie wbudowanych przepływów użytkownika. Jeśli nie zostało to zrobione, dowiedz się więcej o niestandardowym pakiecie startowym zasad w temacie Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C.
Element Lokalizacja umożliwia obsługę wielu ustawień regionalnych lub języków w zasadach dotyczących podróży użytkownika. Obsługa lokalizacji w zasadach umożliwia:
- Skonfiguruj jawną listę obsługiwanych języków w zasadach i wybierz język domyślny.
- Podaj ciągi i kolekcje specyficzne dla języka.
<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 Lokalizacja zawiera następujące atrybuty:
| Atrybut | Wymagane | Opis |
|---|---|---|
| Włączone | Nie. | Możliwe wartości: true lub false. |
Element Lokalizacja zawiera następujące elementy XML
| Składnik | Wystąpień | Opis |
|---|---|---|
| Obsługiwane języki | 1:n | Lista obsługiwanych języków. |
| Zlokalizowane zasoby | 0:n | Lista zlokalizowanych zasobów. |
Obsługiwane języki
Element SupportedLanguages zawiera następujące atrybuty:
| Atrybut | Wymagane | Opis |
|---|---|---|
| DomyślnyJęzyk | Tak | Język, który ma być używany jako domyślny dla zlokalizowanych zasobów. |
| Zachowanie scalania | Nie. | Wartości wyliczenia wartości, które są scalane razem z dowolnym typem oświadczenia, które znajdują się w zasadach nadrzędnych z tym samym identyfikatorem. Użyj tego atrybutu podczas zastępowania oświadczenia określonego w zasadach podstawowych. Możliwe wartości: Append, lub PrependReplaceAll. Wartość Append określa, że kolekcja obecnych danych powinna zostać dołączona na końcu kolekcji określonej w zasadach nadrzędnych. Wartość Prepend określa, że przed kolekcją określoną w zasadach nadrzędnych należy dodać zbieranie danych. Wartość ReplaceAll określa, że zbieranie danych zdefiniowanych w zasadach nadrzędnych powinno być ignorowane przy użyciu danych zdefiniowanych w bieżących zasadach. |
Obsługiwane języki
Element SupportedLanguages zawiera następujące elementy:
| Składnik | Wystąpień | Opis |
|---|---|---|
| Obsługiwany język | 1:n | Wyświetla zawartość zgodną z tagiem języka na RFC 5646 — tagi identyfikujące języki. |
Zlokalizowane zasoby
Element LocalizedResources zawiera następujące atrybuty:
| Atrybut | Wymagane | Opis |
|---|---|---|
| Id | Tak | Identyfikator używany do unikatowego identyfikowania zlokalizowanych zasobów. |
Element LocalizedResources zawiera następujące elementy:
| Składnik | Wystąpień | Opis |
|---|---|---|
| Zlokalizowanekolekcje | 0:n | Definiuje całe kolekcje w różnych kulturach. Kolekcja może mieć różne elementy i różne ciągi dla różnych kultur. Przykłady kolekcji obejmują wyliczenia, które są wyświetlane w typach oświadczeń. Na przykład lista kraj/region jest wyświetlana użytkownikowi na liście rozwijanej. |
| Zlokalizowane ciągi | 0:n | Definiuje wszystkie ciągi, z wyjątkiem tych ciągów, które pojawiają się w kolekcjach, w różnych kulturach. |
Zlokalizowanekolekcje
Element LocalizedCollections zawiera następujące elementy:
| Składnik | Wystąpień | Opis |
|---|---|---|
| Zlokalizowanakolekcja | 1:n | Lista obsługiwanych języków. |
Zlokalizowanakolekcja
Element LocalizedCollection zawiera następujące atrybuty:
| Atrybut | Wymagane | Opis |
|---|---|---|
| Typ elementu | Tak | Odwołuje się do elementu ClaimType lub elementu interfejsu użytkownika w pliku zasad. |
| Identyfikator elementu | Tak | Ciąg zawierający odwołanie do typu oświadczenia zdefiniowanego już w sekcji ClaimsSchema, który jest używany, jeśli element ElementType jest ustawiony na Typ oświadczenia. |
| Kolekcja docelowa | Tak | Kolekcja docelowa. |
Element LocalizedCollection zawiera następujące elementy:
| Składnik | Wystąpień | Opis |
|---|---|---|
| Przedmiot | 0:n | Definiuje dostępną opcję, aby użytkownik wybrał oświadczenie w interfejsie użytkownika, na przykład wartość na liście rozwijanej. |
Element Item zawiera następujące atrybuty:
| Atrybut | Wymagane | Opis |
|---|---|---|
| Tekst | Tak | Przyjazny dla użytkownika ciąg wyświetlania, który powinien być wyświetlany użytkownikowi w interfejsie użytkownika dla tej opcji. |
| Wartość | Tak | Wartość oświadczenia ciągu skojarzona z wybraniem tej opcji. |
| Wybierz pozycjęByDefault | Nie. | Wskazuje, czy ta opcja powinna być domyślnie wybrana w interfejsie użytkownika. Możliwe wartości: Prawda lub Fałsz. |
W poniższym przykładzie pokazano użycie elementu LocalizedCollections . Zawiera dwa elementy LocalizedCollection , jeden dla języka angielskiego i drugi dla języka hiszpańskiego. Oba zestawy ograniczeń oświadczenia Gender z listą elementów dla języka angielskiego i hiszpańskiego. Aby uzyskać więcej przykładów, zapoznaj się z pokazem na żywo wyliczenia ograniczeń oświadczeń.
<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>
Zlokalizowane ciągi
Element LocalizedStrings zawiera następujące elementy:
| Składnik | Wystąpień | Opis |
|---|---|---|
| Zlokalizowane ciągi | 1:n | Zlokalizowany ciąg. |
Element LocalizedString zawiera następujące atrybuty:
| Atrybut | Wymagane | Opis |
|---|---|---|
| Typ elementu | Tak | Możliwe wartości: ClaimsProvider, ClaimType, ErrorMessage, GetLocalizedStringsTransformationClaimType, FormatLocalizedStringTransformationClaimType, Predicate, PredicateValidation lub UxElement. |
| Identyfikator elementu | Tak | Jeśli element ElementType jest ustawiony na ClaimType, Predicatelub PredicateValidation, ten element zawiera odwołanie do typu oświadczenia już zdefiniowanego w sekcji ClaimsSchema. |
| Identyfikator ciągu | Tak | Jeśli parametr ElementType jest ustawiony na ClaimTypewartość , ten element zawiera odwołanie do atrybutu typu oświadczenia. Możliwe wartości: DisplayName, lub AdminHelpTextPatternHelpText. Wartość DisplayName jest używana do ustawiania nazwy wyświetlanej oświadczenia. Wartość AdminHelpText jest używana do ustawiania nazwy tekstowej pomocy użytkownika oświadczenia. Wartość PatternHelpText jest używana do ustawiania tekstu pomocy wzorca oświadczenia. Jeśli parametr ElementType jest ustawiony na UxElementwartość , ten element zawiera odwołanie do atrybutu elementu interfejsu użytkownika. Jeśli parametr ElementType jest ustawiony na ErrorMessagewartość , ten element określa identyfikator komunikatu o błędzie. Zobacz Identyfikatory ciągów lokalizacji , aby uzyskać pełną listę UxElement identyfikatorów. |
Typ elementu
Odwołanie ElementType do typu oświadczenia, przekształcenia oświadczenia lub elementu interfejsu użytkownika w zasadach, które mają być zlokalizowane.
| Element do lokalizowania | Typ elementu | Identyfikator elementu | Identyfikator ciągu |
|---|---|---|---|
| Nazwa dostawcy tożsamości | ClaimsProvider |
Identyfikator elementu ClaimsExchange | |
| Atrybuty typu oświadczenia | ClaimType |
Nazwa typu oświadczenia | Atrybut oświadczenia, który ma zostać zlokalizowany. Możliwe wartości: AdminHelpText, , DisplayNamePatternHelpTexti UserHelpText. |
| Komunikat o błędzie | ErrorMessage |
Identyfikator komunikatu o błędzie | |
| Kopiuje zlokalizowane ciągi do oświadczeń | GetLocalizedStringsTransformationClaimType |
Nazwa oświadczenia wyjściowego | |
| Komunikat użytkownika predykatu | Predicate |
Nazwa predykatu | Atrybut predykatu, który ma być zlokalizowany. Możliwe wartości: HelpText. |
| Komunikat użytkownika grupy predykatu | PredicateValidation |
Identyfikator elementu PredicateValidation. | Identyfikator elementu PredicateGroup. Grupa predykatów musi być elementem podrzędnym elementu weryfikacji predykatu, zgodnie z definicją w elemedycie ElementId. |
| Elementy interfejsu użytkownika | UxElement |
Identyfikator elementu interfejsu użytkownika, który ma zostać zlokalizowany. | |
| Kontrolka wyświetlania | DisplayControl |
Identyfikator kontrolki wyświetlania. | Identyfikator elementu interfejsu użytkownika, który ma zostać zlokalizowany. |
Przykłady
ClaimsProvider (Dostawca roszczeń)
Wartość ClaimsProvider służy do lokalizowania jednej z dostawców oświadczeń nazwy wyświetlanej.
<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>
W poniższym przykładzie pokazano, jak lokalizować nazwę wyświetlaną dostawców oświadczeń.
<LocalizedString ElementType="ClaimsProvider" StringId="FacebookExchange">Facebook</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="GoogleExchange">Google</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="LinkedInExchange">LinkedIn</LocalizedString>
Typ oświadczenia
Wartość ClaimType służy do lokalizowania jednego z atrybutów oświadczenia.
<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>
W poniższym przykładzie pokazano, jak lokalizować atrybuty DisplayName, UserHelpText i PatternHelpText typu oświadczenia 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>
Komunikat o błędzie
Wartość ErrorMessage służy do lokalizowania jednego z komunikatów o błędach systemowych.
<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>
W poniższym przykładzie pokazano, jak zlokalizować komunikat o błędzie UserMessageIfClaimsPrincipalAlreadyExists.
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">The account you are trying to create already exists, please sign-in.</LocalizedString>
FormatLocalizedStringTransformationClaimType
Wartość FormatLocalizedStringTransformationClaimType służy do formatowania oświadczeń w zlokalizowany ciąg. Aby uzyskać więcej informacji, zobacz FormatLocalizedString claims transformation (Przekształcanie oświadczeń FormatLocalizedString)
<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>
W poniższym przykładzie pokazano, jak zlokalizować format ciągu przekształcenia oświadczeń 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
Wartość GetLocalizedStringsTransformationClaimType służy do kopiowania zlokalizowanych ciągów do oświadczeń. Aby uzyskać więcej informacji, zobacz GetLocalizedStringsTransformation claims transformation
<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>
W poniższym przykładzie pokazano, jak lokalizować oświadczenia wyjściowe przekształcenia oświadczeń 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>
Predykat
Wartość predykatu służy do lokalizowania jednego z komunikatów o błędach predykatu .
<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>
W poniższym przykładzie pokazano, jak lokalizować predykaty tekstu pomocy.
<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>
PredykatValidation
Wartość PredicateValidation służy do lokalizowania jednego z komunikatów o błędach grupy 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>
W poniższym przykładzie pokazano, jak lokalizować tekst pomocy grupy weryfikacji predykatu.
<LocalizedString ElementType="PredicateValidation" ElementId="CustomPassword" StringId="CharacterClasses">The password must have at least 3 of the following:</LocalizedString>
UxElement
Wartość UxElement służy do lokalizowania jednego z elementów interfejsu użytkownika. W poniższym przykładzie pokazano, jak zlokalizować przyciski kontynuuj i anulować.
<LocalizedString ElementType="UxElement" StringId="button_continue">Create new account</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_cancel">Cancel</LocalizedString>
Sterowanie wyświetlaczem
Wartość DisplayControl służy do lokalizowania jednego z elementów interfejsu użytkownika kontrolki sterowania . Po włączeniu kontrolka wyświetlania zlokalizowanych ciągów ma pierwszeństwo przed niektórymi identyfikatorami ciągów UxElement , takimi jak ver_but_send, ver_but_edit, ver_but_resend i ver_but_verify. W poniższym przykładzie pokazano, jak lokalizować przyciski wysyłania i weryfikowania.
<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>
W sekcji Metadane samodzielnego profilu technicznego przywoływane elementy ContentDefinition muszą mieć ustawioną wartość DataUri na układ strony w wersji 2.1.0 lub nowszej. Przykład:
<ContentDefinition Id="api.selfasserted">
<DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.0</DataUri>
...
Dalsze kroki
Zobacz następujące artykuły, aby zapoznać się z przykładami lokalizacji: