Yerelleştirme öğesi
Not
Azure Active Directory B2C'de özel ilkeler öncelikli olarak karmaşık senaryoları ele almak için tasarlanmıştır. Çoğu senaryoda yerleşik kullanıcı akışlarını kullanmanızı öneririz. Bunu yapmadıysanız , Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümünde özel ilke başlangıç paketi hakkında bilgi edinin.
Localization öğesi, kullanıcı yolculukları için ilkede birden çok yerel ayarı veya dili desteklemenizi sağlar. İlkelerdeki yerelleştirme desteği şunları yapmanızı sağlar:
- bir ilkede desteklenen dillerin açık listesini ayarlayın ve varsayılan bir dil seçin.
- Dile özgü dizeler ve koleksiyonlar sağlayın.
<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">
...
Localization öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Gerekli | Description |
---|---|---|
Etkin | No | Olası değerler: true veya false . |
Localization öğesi aşağıdaki XML öğelerini içerir
Öğe | Oluşum | Description |
---|---|---|
SupportedLanguages | 1:n | Desteklenen dillerin listesi. |
LocalizedResources | 0:n | Yerelleştirilmiş kaynakların listesi. |
SupportedLanguages
SupportedLanguages öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
DefaultLanguage | Yes | Yerelleştirilmiş kaynaklar için varsayılan olarak kullanılacak dil. |
MergeBehavior | No | Aynı tanımlayıcıya sahip bir üst ilkede bulunan herhangi bir ClaimType ile birleştirilen değerlerin numaralandırma değerleri. Temel ilkede belirtilen bir talebin üzerine yazdığınızda bu özniteliği kullanın. Olası değerler: Append , Prepend veya ReplaceAll . değeri, Append mevcut veri koleksiyonunun üst ilkede belirtilen koleksiyonun sonuna eklenmesi gerektiğini belirtir. değeri, Prepend mevcut veri koleksiyonunun üst ilkede belirtilen koleksiyondan önce eklenmesi gerektiğini belirtir.
ReplaceAll değeri, geçerli ilkede tanımlanan veriler kullanılarak üst ilkede tanımlanan veri koleksiyonunun yoksayılması gerektiğini belirtir. |
SupportedLanguages
SupportedLanguages öğesi aşağıdaki öğeleri içerir:
Öğe | Oluşum | Description |
---|---|---|
SupportedLanguage | 1:n | Rfc 5646 - Dilleri Tanımlama Etiketleri başına bir dil etiketine uyan içeriği görüntüler. |
LocalizedResources
LocalizedResources öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
Id | Yes | Yerelleştirilmiş kaynakları benzersiz olarak tanımlamak için kullanılan tanımlayıcı. |
LocalizedResources öğesi aşağıdaki öğeleri içerir:
Öğe | Oluşum | Description |
---|---|---|
LocalizedCollections | 0:n | Çeşitli kültürlerdeki koleksiyonların tamamını tanımlar. Bir koleksiyon, çeşitli kültürler için farklı sayıda öğeye ve farklı dizeye sahip olabilir. Koleksiyonlara örnek olarak talep türlerinde görünen numaralandırmalar verilebilir. Örneğin, açılan listede kullanıcıya bir ülke/bölge listesi gösterilir. |
LocalizedStrings | 0:n | Çeşitli kültürlerde koleksiyonlarda görünen dizeler dışında tüm dizeleri tanımlar. |
LocalizedCollections
LocalizedCollections öğesi aşağıdaki öğeleri içerir:
Öğe | Oluşum | Description |
---|---|---|
LocalizedCollection | 1:n | Desteklenen dillerin listesi. |
LocalizedCollection
LocalizedCollection öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
Elementtype | Yes | İlke dosyasındaki bir ClaimType öğesine veya kullanıcı arabirimi öğesine başvurur. |
Elementıd | Yes | ElementType bir ClaimType olarak ayarlanırsa kullanılan ClaimsSchema bölümünde zaten tanımlanmış bir talep türüne başvuru içeren bir dize. |
Targetcollection | Yes | Hedef koleksiyon. |
LocalizedCollection öğesi aşağıdaki öğeleri içerir:
Öğe | Oluşum | Description |
---|---|---|
Öğe | 0:n | Kullanıcı arabiriminde bir talep için seçilebilecek bir seçenek (örneğin, bir açılır menüdeki bir değer) tanımlar. |
Item öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
Metin | Yes | Bu seçenek için kullanıcı arabiriminde kullanıcıya gösterilmesi gereken kullanıcı dostu görüntüleme dizesi. |
Değer | Yes | Bu seçeneğin seçilmesiyle ilişkili dize talep değeri. |
SelectByDefault | No | Bu seçeneğin kullanıcı arabiriminde varsayılan olarak belirlenip belirlenmeyeceğini gösterir. Olası değerler: True veya False. |
Aşağıdaki örnekte LocalizedCollections öğesinin kullanımı gösterilmektedir. Biri İngilizce, diğeri İspanyolca için iki LocalizedCollection öğesi içerir. her ikisi de talebin Gender
Kısıtlama koleksiyonunu İngilizce ve İspanyolca için bir öğe listesiyle ayarlar. Daha fazla örnek için Talep kısıtlama numaralandırması canlı tanıtımına göz atın.
<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
LocalizedStrings öğesi aşağıdaki öğeleri içerir:
Öğe | Oluşum | Description |
---|---|---|
LocalizedString | 1:n | Yerelleştirilmiş bir dize. |
LocalizedString öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
Elementtype | Yes | Olası değerler: ClaimsProvider, ClaimType, ErrorMessage, GetLocalizedStringsTransformationClaimType, FormatLocalizedStringTransformationClaimType, Koşul, PredicateValidation veya UxElement. |
Elementıd | Yes |
ElementType , Predicate veya PredicateValidation olarak ayarlandıysaClaimType , bu öğe ClaimsSchema bölümünde önceden tanımlanmış bir talep türüne başvuru içerir. |
StringId | Yes |
ElementType olarak ayarlanırsaClaimType , bu öğe bir talep türü özniteliğine başvuru içerir. Olası değerler: DisplayName , AdminHelpText veya PatternHelpText .
DisplayName Değer, talep görünen adını ayarlamak için kullanılır.
AdminHelpText değeri, talep kullanıcısının yardım metni adını ayarlamak için kullanılır.
PatternHelpText Değer, talep deseni yardım metnini ayarlamak için kullanılır.
ElementType olarak ayarlanırsaUxElement , bu öğe bir kullanıcı arabirimi öğesinin özniteliğine başvuru içerir.
ElementType olarak ayarlanırsaErrorMessage , bu öğe bir hata iletisinin tanımlayıcısını belirtir. Tanımlayıcıların tam listesi UxElement için bkz. Yerelleştirme dizesi kimlikleri. |
Elementtype
ElementType, yerelleştirilecek ilkedeki bir talep türüne, talep dönüştürmesine veya kullanıcı arabirimi öğesine başvurur.
Yerelleştirecek öğe | Elementtype | Elementıd | StringId |
---|---|---|---|
Kimlik sağlayıcısı adı | ClaimsProvider |
ClaimsExchange öğesinin kimliği | |
Talep türü öznitelikleri | ClaimType |
Talep türünün adı | Yerelleştirilecek talebin özniteliği. Olası değerler: AdminHelpText , DisplayName , PatternHelpText ve UserHelpText . |
Hata iletisi | ErrorMessage |
Hata iletisinin kimliği | |
Yerelleştirilmiş dizeleri taleplere kopyalar | GetLocalizedStringsTransformationClaimType |
Çıkış talebi adı | |
Kullanıcı iletisini koşullandır | Predicate |
Koşulun adı | Yerelleştirilecek koşulun özniteliği. Olası değerler: HelpText . |
Koşul grubu kullanıcı iletisi | PredicateValidation |
PredicateValidation öğesinin kimliği. | PredicateGroup öğesinin kimliği. Koşul grubu, ElementId içinde tanımlandığı gibi koşul doğrulama öğesinin alt öğesi olmalıdır. |
Kullanıcı arabirimi öğeleri | UxElement |
Yerelleştirilecek kullanıcı arabirimi öğesinin kimliği. | |
Görüntüleme Denetimi | DisplayControl |
Görüntü denetiminin kimliği. | Yerelleştirilecek kullanıcı arabirimi öğesinin kimliği. |
Örnekler
ClaimsProvider
ClaimsProvider değeri, talep sağlayıcılarından birinin görünen adını yerelleştirmek için kullanılır.
<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>
Aşağıdaki örnekte talep sağlayıcılarının görünen adını yerelleştirme gösterilmektedir.
<LocalizedString ElementType="ClaimsProvider" StringId="FacebookExchange">Facebook</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="GoogleExchange">Google</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="LinkedInExchange">LinkedIn</LocalizedString>
Claimtype
ClaimType değeri, talep özniteliklerinden birini yerelleştirmek için kullanılır.
<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>
Aşağıdaki örnekte, e-posta talep türünün DisplayName, UserHelpText ve PatternHelpText özniteliklerinin nasıl yerelleştirleneceği gösterilmektedir.
<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
ErrorMessage değeri, sistem hata iletilerinden birini yerelleştirmek için kullanılır.
<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>
Aşağıdaki örnekte UserMessageIfClaimsPrincipalAlreadyExists hata iletisinin nasıl yerelleştirilmemiş olduğu gösterilmektedir.
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">The account you are trying to create already exists, please sign-in.</LocalizedString>
FormatLocalizedStringTransformationClaimType
FormatLocalizedStringTransformationClaimType değeri, talepleri yerelleştirilmiş bir dizede biçimlendirmek için kullanılır. Daha fazla bilgi için bkz . FormatLocalizedString talep dönüştürme
<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>
Aşağıdaki örnekte FormatLocalizedStringTransformationClaimType talep dönüştürme işleminin dize biçiminin nasıl yerelleştirildiği gösterilmektedir.
<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
GetLocalizedStringsTransformationClaimType değeri, yerelleştirilmiş dizeleri taleplere kopyalamak için kullanılır. Daha fazla bilgi için bkz. GetLocalizedStringsTransformation talepleri dönüştürme
<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>
Aşağıdaki örnekte GetLocalizedStringsTransformation talep dönüştürmesinin çıkış taleplerinin nasıl yerelleştirildiği gösterilmektedir.
<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>
Yüklemi
Koşul değeri Koşul hata iletilerinden birini yerelleştirmek için kullanılır.
<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>
Aşağıdaki örnekte, koşul yardım metninin yerelleştirilmesi gösterilmektedir.
<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
PredicateValidation değeri PredicateValidation grubu hata iletilerinden birini yerelleştirmek için kullanılır.
<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>
Aşağıdaki örnekte, koşul doğrulama grubu yardım metninin nasıl yerelleştirilmemiş olduğu gösterilmektedir.
<LocalizedString ElementType="PredicateValidation" ElementId="CustomPassword" StringId="CharacterClasses">The password must have at least 3 of the following:</LocalizedString>
UxElement
UxElement değeri, kullanıcı arabirimi öğelerinden birini yerelleştirmek için kullanılır. Aşağıdaki örnekte, devam ve iptal düğmelerinin nasıl yerelleştirilip iptal edileceği gösterilmektedir.
<LocalizedString ElementType="UxElement" StringId="button_continue">Create new account</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="button_cancel">Cancel</LocalizedString>
DisplayControl
DisplayControl değeri, Görüntüleme Denetimi kullanıcı arabirimi öğelerinden birini yerelleştirmek için kullanılır. Etkinleştirildiğinde, localizedStrings görüntü denetimi ver_but_send, ver_but_edit, ver_but_resendve ver_but_verify gibi bazı UxElement StringID'lerinden önceliklidir. Aşağıdaki örnekte gönder ve doğrula düğmelerinin nasıl yerelleştirilip doğrulanması gösterilmektedir.
<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>
Kendinden onaylanan bir teknik profilin Meta Veriler bölümünde, başvuruda bulunan ContentDefinition'ın DataUri'nin sayfa düzeni sürüm 2.1.0 veya üzeri olarak ayarlanması gerekir. Örnek:
<ContentDefinition Id="api.selfasserted">
<DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.0</DataUri>
...
Sonraki adımlar
Yerelleştirme örnekleri için aşağıdaki makalelere bakın: