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, Prependveya 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 GenderKı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 , Predicateveya PredicateValidationolarak 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, AdminHelpTextveya 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, PatternHelpTextve UserHelpText.
Hata iletisi ErrorMessage Hata iletisinin kimliği
Yerelleştirilmiş dizeleri taleplere kopyalar GetLocalizedStringsTra nsformationClaimType Çı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="ResponseMessge_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="ResponseMessge_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: