Megosztás a következőn keresztül:


Nyelvi testreszabás az Azure Active Directory B2C-ben

Fontos

2025. május 1-jére az Azure AD B2C már nem lesz elérhető az új ügyfelek számára. További információ a GYIK-ben.

Mielőtt hozzákezdene, a lap tetején található Szabályzattípus kiválasztása választóval válassza ki a beállított szabályzat típusát. Az Azure Active Directory B2C két módszert kínál annak meghatározására, hogy a felhasználók hogyan használják az alkalmazásokat: előre definiált felhasználói folyamatokon vagy teljesen konfigurálható egyéni szabályzatokon keresztül. A cikkben szereplő lépések különbözőek az egyes metódusok esetében.

Az Azure Active Directory B2C (Azure AD B2C) nyelvi testreszabása lehetővé teszi, hogy a felhasználói folyamat különböző nyelveket fogadjon el az ügyfél igényeinek megfelelően. A Microsoft 36 nyelv fordítását biztosítja, de ön is saját fordítást biztosíthat bármilyen nyelvhez. Még akkor is testre szabhatja az oldalak szövegeit, ha a felhasználói élmény csak egyetlen nyelven érhető el.

A nyelvi testreszabás működése

A nyelvi testreszabással kiválaszthatja, hogy a felhasználói folyamat mely nyelveken érhető el. A funkció engedélyezése után megadhatja a lekérdezési sztring paramétert ui_localesaz alkalmazásból. Amikor hívást indít az Azure AD B2C-be, az oldal a megadott területi beállításra lesz lefordítva. Ez a konfigurációtípus teljes körű vezérlést biztosít a felhasználói folyamat nyelveinek felett, és figyelmen kívül hagyja az ügyfél böngészőjének nyelvi beállításait.

Lehet, hogy nincs szüksége arra, hogy ennyire kontrollálja, milyen nyelveket lát az ügyfél. Ha nem ad meg paramétert ui_locales , az ügyfél felhasználói élményét a böngésző beállításai határozzák meg. Továbbra is szabályozhatja, hogy a felhasználói folyamat mely nyelvekre legyen lefordítva, ha támogatott nyelvként adja hozzá. Ha egy ügyfél böngészője úgy van beállítva, hogy egy olyan nyelvet jelenítsen meg, amelyet nem szeretne támogatni, akkor a támogatott kultúrákban alapértelmezettként kiválasztott nyelv jelenik meg.

  • Ui-locales megadott nyelv: A nyelv testreszabásának engedélyezése után a felhasználói folyamat az itt megadott nyelvre lesz lefordítva.
  • Böngésző által kért nyelv: Ha nem ui_locales adott meg paramétert, a rendszer lefordítja a felhasználói folyamatot a böngésző által kért nyelvre, ha a nyelv támogatott.
  • Házirend alapértelmezett nyelve: Ha a böngésző nem ad meg nyelvet, vagy nem támogatott nyelvet ad meg, a rendszer lefordítja a felhasználói folyamatot a felhasználói folyamat alapértelmezett nyelvére.

Megjegyzés:

Ha egyéni felhasználói attribútumokat használ, saját fordításokat kell megadnia. További információ: Sztringek testreszabása.

Ebből a videóból megtudhatja, hogyan honosíthatja vagy szabhatja testre a nyelvet az Azure AD B2C használatával.

A honosításhoz három lépés szükséges:

  1. A támogatott nyelvek explicit listájának beállítása
  2. Nyelvspecifikus karakterláncok és gyűjtemények megadása
  3. Szerkessze a lap tartalomdefinícióját .

Előfeltételek

Támogatás a kért nyelvekhez az ui_locales beállításokban

A nyelvi testreszabás általános elérhetősége előtt létrehozott szabályzatok először engedélyezni kell ezt a funkciót. Azok a szabályzatok és felhasználói folyamatok, amelyek utólag kerültek létrehozásra, alapértelmezés szerint lehetővé teszik a nyelvi testreszabást.

Ha engedélyezi a nyelvi testreszabást egy felhasználói folyamaton, a paraméter hozzáadásával ui_locales szabályozhatja a felhasználói folyamat nyelvét.

  1. Az Azure AD B2C bérleményben válassza a Felhasználói folyamatok lehetőséget.
  2. Kattintson arra a felhasználói folyamatra, amelyet engedélyezni szeretne a fordításokhoz.
  3. Nyelvek kiválasztása.
  4. Válassza a Nyelvi testreszabás engedélyezése lehetőséget.

Válassza ki, hogy mely nyelvek legyenek engedélyezve a felhasználói folyamatban

Engedélyezze a felhasználói folyamat nyelvkészletének lefordítását, amikor a böngésző a paraméter nélkül ui_locales kéri.

  1. Győződjön meg arról, hogy a felhasználói folyamat nyelvének testreszabása engedélyezve van az előző utasítások alapján.
  2. A felhasználói folyamat Nyelvek lapján válassza ki a támogatni kívánt nyelvet.
  3. A tulajdonságok panelen módosítsa az Engedélyezve értéket Igen értékre.
  4. Válassza a Tulajdonságok panel tetején található Mentés lehetőséget.

Megjegyzés:

Ha nincs megadva paraméter ui_locales , a lap csak akkor lesz lefordítva az ügyfél böngészőnyelvére, ha engedélyezve van.

Sztringek testreszabása

A nyelvi testreszabás lehetővé teszi a felhasználói folyamat bármely sztringének testreszabását.

  1. Győződjön meg arról, hogy a felhasználói folyamat rendelkezik az előző utasításokban engedélyezett nyelvi testreszabással.
  2. A felhasználói folyamat Nyelv lapján válassza ki a testreszabni kívánt nyelvet.
  3. A Lapszintű erőforrások fájlok területen válassza ki a szerkeszteni kívánt lapot.
  4. Válassza az Alapértelmezett letöltések-et (vagy a Letöltések felülbírálása lehetőséget, ha korábban már szerkesztette ezt a nyelvet).

Ezek a lépések egy JSON-fájlt biztosítanak, amellyel megkezdheti a sztringek szerkesztését.

Az oldal bármely sztringjének módosítása

  1. Nyissa meg az előző utasításokból letöltött JSON-fájlt egy JSON-szerkesztőben.
  2. Keresse meg a módosítani kívánt elemet. Megkeresheti StringId a keresett sztringet, vagy megkeresheti a Value módosítani kívánt attribútumot.
  3. Frissítse az Value attribútumot a megjelenítendővel.
  4. Minden módosítani kívánt sztringnél váltson Override a következőre true: .
  5. Mentse a fájlt, és töltse fel a módosításokat. (A feltöltési vezérlő ugyanazon a helyen található, ahol a JSON-fájlt letöltötte.)

Fontos

Ha felül kell írnia egy karakterláncot, győződjön meg róla, hogy az Override értéket true-re állítja. Ha az érték nem változik, a bejegyzés figyelmen kívül lesz hagyva.

Bővítményattribútumok módosítása

Ha módosítani szeretné egy egyéni felhasználói attribútum sztringjét, vagy hozzá szeretne adni egyet a JSON-hoz, az a következő formátumban van:

{
  "LocalizedStrings": [
    {
      "ElementType": "ClaimType",
      "ElementId": "extension_<ExtensionAttribute>",
      "StringId": "DisplayName",
      "Override": true,
      "Value": "<ExtensionAttributeValue>"
    }
    [...]
  ]
}

Cserélje le <ExtensionAttribute> az egyéni felhasználói attribútum nevére.

Cserélje le <ExtensionAttributeValue> a megjelenítendő új sztringre.

Értékek listájának megadása a LocalizedCollections használatával

Ha meg szeretné adni a válaszok értékeinek egy készletét, létre kell hoznia egy LocalizedCollections attribútumot. LocalizedCollections egy tömb és NameValue pár. Az elemek sorrendje a megjelenített sorrend lesz. A hozzáadáshoz LocalizedCollectionshasználja a következő formátumot:

{
  "LocalizedStrings": [...],
  "LocalizedCollections": [
    {
      "ElementType":"ClaimType",
      "ElementId":"<UserAttribute>",
      "TargetCollection":"Restriction",
      "Override": true,
      "Items":[
        {
          "Name":"<Response1>",
          "Value":"<Value1>"
        },
        {
          "Name":"<Response2>",
          "Value":"<Value2>"
        }
      ]
    }
  ]
}
  • ElementId az a felhasználói attribútum, amelyre ez LocalizedCollections az attribútum válasz.
  • Name A felhasználó számára megjelenített érték.
  • Value ez a lehetőség a jogcímben visszaadott érték.

Módosítások feltöltése

  1. Miután elvégezte a JSON-fájl módosításait, térjen vissza a B2C-bérlőhöz.
  2. Válassza ki a Felhasználói folyamatokat , és kattintson arra a felhasználói folyamatra, amelyet engedélyezni szeretne a fordításokhoz.
  3. Nyelvek kiválasztása.
  4. Válassza ki a lefordítani kívánt nyelvet.
  5. Válassza ki azt a lapot, amelyen fordításokat szeretne nyújtani.
  6. Válassza ki a mappa ikont, és válassza ki a feltölteni kívánt JSON-fájlt.

A rendszer automatikusan menti a felhasználói munkafolyamat módosításait.

A lap felhasználói felületének testreszabása nyelvi testreszabással

A HTML-tartalom honosításának két módja van. Ennek egyik módja a nyelvi testreszabás bekapcsolása. A funkció engedélyezésével az Azure AD B2C továbbíthatja az OpenID Connect paramétert ui-localesa végpontnak. A tartalomkiszolgáló ezzel a paraméterrel testre szabott, nyelvspecifikus HTML-lapokat biztosíthat.

Másik lehetőségként lekérheti a tartalmat különböző helyekről a használt területi beállítás alapján. A CORS-kompatibilis végponton beállíthat egy mappastruktúrát, amely adott nyelvek tartalmát tárolja. Ha a helyettesítő karakter értékét {Culture:RFC5646} használja, a megfelelőt fogja hívni. Tegyük fel például, hogy ez az egyéni lap URI-ja:

https://wingtiptoysb2c.blob.core.windows.net/{Culture:RFC5646}/wingtip/unified.html

Betöltheti itt a lapot fr. Amikor az oldal LEkéri a HTML- és CSS-tartalmat, az a következőből fog lekérni:

https://wingtiptoysb2c.blob.core.windows.net/fr/wingtip/unified.html

Egyéni nyelvek hozzáadása

Olyan nyelveket is hozzáadhat, amelyekhez a Microsoft jelenleg nem biztosít fordítást. Az összes felhasználói folyamat elemének fordítását meg kell adnia. A nyelvi és területi kódok az ISO 639-1 szabványban meghatározottakra korlátozódnak. A területi kód formátumának például en-GB"ISO_639-1_code"-"CountryCode" formátumúnak kell lennie. További információkért tekintse meg a területi azonosító formátumát.

  1. Az Azure AD B2C bérleményben válassza a Felhasználói folyamatok lehetőséget.
  2. Kattintson arra a felhasználói folyamatra, amelyhez egyéni nyelveket szeretne hozzáadni, majd kattintson a Nyelvek elemre.
  3. Válassza az Egyéni nyelv hozzáadása lehetőséget a lap tetején.
  4. A megnyíló környezeti panelen egy érvényes területi kód beírásával állapítsa meg, hogy melyik nyelvhez nyújt fordítást.
  5. Minden oldalhoz letöltheti az angol nyelvű felülbírálásokat, és dolgozhat a fordításokon.
  6. Miután végzett a JSON-fájlokkal, feltöltheti őket az egyes oldalakra.
  7. Válassza az Engedélyezés lehetőséget, és a felhasználói folyamat mostantól megjelenítheti ezt a nyelvet a felhasználók számára.
  8. Mentse a nyelvet.

Fontos

A mentés előtt engedélyeznie kell az egyéni nyelveket, vagy felülbírálásokat kell feltöltenie.

A támogatott nyelvek listájának beállítása

Nyissa meg a szabályzat bővítményfájlját. Például: SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Keresse meg a BuildingBlocks elemet. Ha az elem nem létezik, adja hozzá.
  2. Adja hozzá az Localization elemet a támogatott nyelvekkel: angol (alapértelmezett) és spanyol.
<Localization Enabled="true">
  <SupportedLanguages DefaultLanguage="en" MergeBehavior="ReplaceAll">
    <SupportedLanguage>en</SupportedLanguage>
    <SupportedLanguage>es</SupportedLanguage>
  </SupportedLanguages>
</Localization>

Nyelvspecifikus címkék megadása

Az elem LocalizedResources tulajdonsága Localization tartalmazza a honosított sztringek listáját. A honosított erőforrások elem egy azonosítóval rendelkezik, amely a honosított erőforrások egyedi azonosítására szolgál. Ezt az azonosítót később használja a tartalomdefiníció elem.

Honosított erőforrások elemeit konfigurálja a tartalomdefinícióhoz és a támogatni kívánt nyelvhez. Az egységes regisztrációs vagy bejelentkezési lapok angol és spanyol nyelvű testreszabásához az elem bezárása LocalizedResources után adja hozzá a következő </SupportedLanguages> elemeket.

Megjegyzés:

A következő példában az egyes sorok elején hozzáadtuk a font # szimbólumot, így könnyen megtalálhatja a honosított címkéket a képernyőn.

<!--Local account sign-up or sign-in page English-->
<Localization Enabled="true">
  ...
 <LocalizedResources Id="api.signuporsignin.en">
        <LocalizedStrings>
          <LocalizedString ElementType="ClaimType" ElementId="signInName" StringId="DisplayName">Email Address</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="heading">Sign in</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="social_intro">Sign in with your social account</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="local_intro_generic">Sign in with your {0}</LocalizedString>
          <LocalizedString ElementType="ClaimType" ElementId="password" StringId="DisplayName">Password</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="requiredField_password">Please enter your password</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="requiredField_generic">Please enter your {0}</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="invalid_generic">Please enter a valid {0}</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="createaccount_one_link">Sign up now</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="createaccount_two_links">Sign up with {0} or {1}</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="createaccount_three_links">Sign up with {0}, {1}, or {2}</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="forgotpassword_link">Forgot your password?</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="button_signin">Sign in</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="divider_title">OR</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="createaccount_intro">Don't have an account?</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="unknown_error">We are having trouble signing you in. Please try again later.</LocalizedString>
          <!-- Uncomment the remember_me only if the keep me signed in is activated. 
          <LocalizedString ElementType="UxElement" StringId="remember_me">Keep me signed in</LocalizedString> -->
          <LocalizedString ElementType="ClaimsProvider" StringId="FacebookExchange">Facebook</LocalizedString>
          <LocalizedString ElementType="ErrorMessage" StringId="ResourceOwnerFlowInvalidCredentials">Your password is incorrect.</LocalizedString>
          <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidPassword">Your password is incorrect.</LocalizedString>
          <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfPasswordExpired">Your password has expired.</LocalizedString>
          <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalDoesNotExist">We can't seem to find your account.</LocalizedString>
          <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfOldPasswordUsed">Looks like you used an old password.</LocalizedString>
          <LocalizedString ElementType="ErrorMessage" StringId="DefaultMessage">Invalid username or password.</LocalizedString>
          <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfUserAccountDisabled">Your account has been locked. Contact your support person to unlock it, then try again.</LocalizedString>
          <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfUserAccountLocked">Your account is temporarily locked to prevent unauthorized use. Try again later.</LocalizedString>
          <LocalizedString ElementType="ErrorMessage" StringId="AADRequestsThrottled">There are too many requests at this moment. Please wait for some time and try again.</LocalizedString>
        </LocalizedStrings>
      </LocalizedResources>
  <!--Local account sign-up or sign-in page Spanish-->
  <LocalizedResources Id="api.signuporsignin.es">
    <LocalizedStrings>
      <LocalizedString ElementType="UxElement" StringId="logonIdentifier_email">#Correo electrónico</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="requiredField_email">#Este campo es obligatorio</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="logonIdentifier_username">#Nombre de usuario</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="password">#Contraseña</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="createaccount_link">#Registrarse ahora</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="requiredField_username">#Escriba su nombre de usuario</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="createaccount_intro">#¿No tiene una cuenta?</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="forgotpassword_link">#¿Olvidó su contraseña?</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="divider_title">#O</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="cancel_message">#El usuario ha olvidado su contraseña</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="button_signin">#Iniciar sesión</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="social_intro">#Iniciar sesión con su cuenta de redes sociales</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="requiredField_password">#Escriba su contraseña</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="invalid_password">#La contraseña que ha escrito no está en el formato esperado.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="local_intro_username">#Iniciar sesión con su nombre de usuario</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="local_intro_email">#Iniciar sesión con su cuenta existente</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="invalid_email">#Escriba una dirección de correo electrónico válida</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="unknown_error">#Tenemos problemas para iniciar su sesión. Vuelva a intentarlo más tarde.  </LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="email_pattern">^[a-zA-Z0-9.!#$%&amp;'^_`\{\}~\-]+@[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*$</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidPassword">#Su contraseña es incorrecta.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalDoesNotExist">#Parece que no podemos encontrar su cuenta.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfOldPasswordUsed">#Parece que ha usado una contraseña antigua.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="DefaultMessage">#El nombre de usuario o la contraseña no son válidos.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfUserAccountDisabled">#Se bloqueó su cuenta. Póngase en contacto con la persona responsable de soporte técnico para desbloquearla y vuelva a intentarlo.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfUserAccountLocked">#Su cuenta se bloqueó temporalmente para impedir un uso no autorizado. Vuelva a intentarlo más tarde.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="AADRequestsThrottled">#Hay demasiadas solicitudes en este momento. Espere un momento y vuelva a intentarlo.</LocalizedString>
    </LocalizedStrings>
  </LocalizedResources>
  <!--Local account sign-up page English-->
  <LocalizedResources Id="api.localaccountsignup.en">
    <LocalizedStrings>
      <LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">#Email Address</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="email" StringId="UserHelpText">#Email address that can be used to contact you.</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="email" StringId="PatternHelpText">#Please enter a valid email address.</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="DisplayName">#New Password</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="UserHelpText">#Enter new password</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="PatternHelpText">#8-16 characters, containing 3 out of 4 of the following: Lowercase characters, uppercase characters, digits (0-9), and one or more of the following symbols: @ # $ % ^ &amp; * - _ + = [ ] { } | \ : ' , ? / ` ~ " ( ) ; .</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="DisplayName">#Confirm New Password</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="UserHelpText">#Confirm new password</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="PatternHelpText">#8-16 characters, containing 3 out of 4 of the following: Lowercase characters, uppercase characters, digits (0-9), and one or more of the following symbols: @ # $ % ^ &amp; * - _ + = [ ] { } | \ : ' , ? / ` ~ " ( ) ; .</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="displayName" StringId="DisplayName">#Display Name</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="displayName" StringId="UserHelpText">#Your display name.</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="surname" StringId="DisplayName">#Surname</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="surname" StringId="UserHelpText">#Your surname (also known as family name or last name).  </LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="givenName" StringId="DisplayName">#Given Name</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="givenName" StringId="UserHelpText">#Your given name (also known as first name).</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="button_continue">#Create</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="error_fieldIncorrect">#One or more fields are filled out incorrectly. Please check your entries and try again.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="error_passwordEntryMismatch">#The password entry fields do not match. Please enter the same password in both fields and try again.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="error_requiredFieldMissing">#A required field is missing. Please fill out all required fields and try again.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="helplink_text">#What is this?</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="initial_intro">#Please provide the following details.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="preloader_alt">#Please wait</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="required_field">#This information is required.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_but_edit">#Change e-mail</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_but_resend">#Send new code</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_but_send">#Send verification code</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_but_verify">#Verify code</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_code_expired">#That code is expired. Please request a new code.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_no_retry">#You've made too many incorrect attempts. Please try again later.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_retry">#That code is incorrect. Please try again.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_server">#We are having trouble verifying your email address. Please enter a valid email address and try again.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_throttled">#There have been too many requests to verify this email address. Please wait a while, then try again.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_info_msg">#Verification code has been sent to your inbox. Please copy it to the input box below.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_input">#Verification code</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_intro_msg">#Verification is necessary. Please click Send button.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_success_msg">#E-mail address verified. You can now continue.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="ServiceThrottled">#There are too many requests at this moment. Please wait for some time and try again.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimNotVerified">#Claim not verified: {0}</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">#A user with the specified ID already exists. Please choose a different one.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfIncorrectPattern">#Incorrect pattern for: {0}</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidInput">#{0} has invalid input.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMissingRequiredElement">#Missing required element: {0}</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfValidationError">#Error in validation by: {0}</LocalizedString>
    </LocalizedStrings>
  </LocalizedResources>
  <!--Local account sign-up page Spanish-->
  <LocalizedResources Id="api.localaccountsignup.es">
    <LocalizedStrings>
      <LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">#Dirección de correo electrónico</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="email" StringId="UserHelpText">#Dirección de correo electrónico que puede usarse para ponerse en contacto con usted.</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="email" StringId="PatternHelpText">#Introduzca una dirección de correo electrónico válida.  </LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="DisplayName">#Nueva contraseña</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="UserHelpText">#Escriba la contraseña nueva</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="newPassword" StringId="PatternHelpText">#De 8 a 16 caracteres, que contengan 3 de los 4 tipos siguientes: caracteres en minúsculas, caracteres en mayúsculas, dígitos (0-9) y uno o más de los siguientes símbolos: @ # $ % ^ &amp; * - _ + = [ ] { } | \\ : ' , ? / ` ~ \" ( ) ; .</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="DisplayName">#Confirmar nueva contraseña</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="UserHelpText">#Confirmar nueva contraseña</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="reenterPassword" StringId="PatternHelpText">#8 a 16 caracteres, que contengan 3 de los 4 tipos siguientes: caracteres en minúsculas, caracteres en mayúsculas, dígitos (0-9) y uno o más de los siguientes símbolos: @ # $ % ^ &amp; * - _ + = [ ] { } | \\ : ' , ? / ` ~ \" ( ) ; .</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="displayName" StringId="DisplayName">#Nombre para mostrar</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="displayName" StringId="UserHelpText">#Su nombre para mostrar.</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="surname" StringId="DisplayName">#Apellido</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="surname" StringId="UserHelpText">#Su apellido.</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="givenName" StringId="DisplayName">#Nombre</LocalizedString>
      <LocalizedString ElementType="ClaimType" ElementId="givenName" StringId="UserHelpText">#Su nombre (también conocido como nombre de pila).</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="button_continue">#Crear</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="error_fieldIncorrect">#Hay uno o varios campos rellenados de forma incorrecta. Compruebe las entradas y vuelva a intentarlo.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="error_passwordEntryMismatch">#Los campos de entrada de contraseña no coinciden. Escriba la misma contraseña en ambos campos y vuelva a intentarlo.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="error_requiredFieldMissing">#Falta un campo obligatorio. Rellene todos los campos necesarios y vuelva a intentarlo.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="helplink_text">#¿Qué es esto?</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="initial_intro">#Proporcione los siguientes detalles.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="preloader_alt">#Espere</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="required_field">#Esta información es obligatoria.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_but_edit">#Cambiar correo electrónico</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_but_resend">#Enviar nuevo código</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_but_send">#Enviar código de comprobación</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_but_verify">#Comprobar código</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_code_expired">#El código ha expirado. Solicite otro nuevo.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_no_retry">#Ha realizado demasiados intentos incorrectos. Vuelva a intentarlo más tarde.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_retry">#Ese código es incorrecto. Inténtelo de nuevo.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_server">#Tenemos problemas para comprobar la dirección de correo electrónico. Escriba una dirección de correo electrónico válida y vuelva a intentarlo.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_fail_throttled">#Ha habido demasiadas solicitudes para comprobar esta dirección de correo electrónico. Espere un poco y vuelva a intentarlo.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_info_msg">#Se ha enviado el código de verificación a su Bandeja de entrada. Cópielo en el siguiente cuadro de entrada.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_input">#Código de verificación</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_intro_msg">#La comprobación es obligatoria. Haga clic en el botón Enviar.</LocalizedString>
      <LocalizedString ElementType="UxElement" StringId="ver_success_msg">#Dirección de correo electrónico comprobada. Puede continuar.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="ServiceThrottled">#Hay demasiadas solicitudes en este momento. Espere un momento y vuelva a intentarlo.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimNotVerified">#Reclamación no comprobada: {0}</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfClaimsPrincipalAlreadyExists">#Ya existe un usuario con el id. especificado. Elija otro diferente.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfIncorrectPattern">#Patrón incorrecto para: {0}</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidInput">#{0} tiene una entrada no válida.</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMissingRequiredElement">#Falta un elemento obligatorio: {0}</LocalizedString>
      <LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfValidationError">#Error en la validación de: {0}</LocalizedString>
    </LocalizedStrings>
  </LocalizedResources>
</Localization>

A tartalomdefiníció szerkesztése a honosítással

Illessze be a BuildingBlocks elem alá a ContentDefinitions elem teljes tartalmát, amelyet átmásolt.

Az alábbi példában angol (en) és spanyol (es) egyéni sztringek jelennek meg a regisztrációs vagy bejelentkezési oldalon, valamint a helyi fiók regisztrációs oldalán. A LocalizedResourcesReferenceId minden LocalizedResourcesReference esetében megegyezik a területi beállításukkal, de bármely sztringet használhatja azonosítóként. Az egyes nyelvek és lapok kombinációi esetében a korábban létrehozott megfelelő LocalizedResource-okra kell mutatnia.

<ContentDefinitions>
  <ContentDefinition Id="api.signuporsignin">
    <LocalizedResourcesReferences MergeBehavior="Prepend">
        <LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.signuporsignin.en" />
        <LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.signuporsignin.es" />
    </LocalizedResourcesReferences>
  </ContentDefinition>

  <ContentDefinition Id="api.localaccountsignup">
    <LocalizedResourcesReferences MergeBehavior="Prepend">
        <LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.localaccountsignup.en" />
        <LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.localaccountsignup.es" />
    </LocalizedResourcesReferences>
  </ContentDefinition>
</ContentDefinitions>

A frissített egyéni szabályzat feltöltése és tesztelése

Az egyéni szabályzat feltöltése

  1. Mentse a bővítményfájlt.
  2. Ha több bérlőhöz is hozzáférése van, a felső menüben a Beállítások ikont választva váltson az Azure AD B2C-bérlőre a Címtárak + előfizetések menüből.
  3. Keresse meg és válassza ki az Azure AD B2C-t.
  4. A Szabályzatok területen válassza a Identity Experience Framework lehetőséget.
  5. Válassza az Egyéni szabályzat feltöltése lehetőséget.
  6. Töltse fel a korábban módosított bővítményfájlt.

A szabályzat tesztelése a Futtatás most funkció használatával történik.

  1. Válassza ki a feltöltött szabályzatot, majd válassza a Futtatás most lehetőséget.
  2. Meg kell tudnia tekinteni a helyi nyelvű regisztrációs vagy bejelentkezési oldalt.
  3. Kattintson a regisztrációs hivatkozásra, és látnia kell a honosított regisztrációs oldalt.
  4. Váltson a böngésző alapértelmezett nyelvére spanyolra. Vagy hozzáadhatja a lekérdezési sztring paramétert ui_locales az engedélyezési kérelemhez. Például:
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin/oauth2/v2.0/authorize&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login&ui_locales=es

További információk

Lap felhasználói felületének testreszabási címkéi felülbírálásként

Ha engedélyezi a nyelvi testreszabást, a lapok felhasználói felületének testreszabásával végzett címkék korábbi szerkesztései megmaradnak egy angol nyelvű JSON-fájlban (en). Továbbra is módosíthatja a címkéket és más sztringeket a nyelvi erőforrások nyelvi testreszabása során történő feltöltésével.

Naprakész fordítások

A Microsoft elkötelezett amellett, hogy a legfrissebb fordításokat nyújtsa az Ön számára. A Microsoft folyamatosan fejleszti a fordításokat, és megtartja azOkat az Ön számára. A Microsoft azonosítja a globális terminológia hibáit és változásait, és olyan frissítéseket készít, amelyek zökkenőmentesen működnek a felhasználói folyamatban.

Jobbról balra író nyelvek támogatása

A Microsoft jelenleg nem támogatja a jobbról balra író nyelveket. Ezt egyéni helyi beállítások és a CSS segítségével teheti meg, amellyel megváltoztathatja a sztringek megjelenítését. Ha szüksége van erre a funkcióra, szavazzon rá az Azure Feedbackben.

Közösségi identitásszolgáltatói fordítások

A Microsoft biztosítja az ui_locales OIDC paramétert a közösségi bejelentkezésekhez. Egyes közösségi identitásszolgáltatók, például a Facebook és a Google azonban nem tisztelik őket.

Böngésző viselkedése

Microsoft Edge, Chrome és Firefox kérik a beállított nyelvet. Ha támogatott nyelv, akkor az alapértelmezett előtt jelenik meg.

Támogatott nyelvek

Az Azure AD B2C iso 639-1 kóddal támogatja a következő nyelveket. A felhasználói folyamat nyelvét az Azure AD B2C biztosítja. A többtényezős hitelesítés értesítési nyelvét a Microsoft Entra többtényezős hitelesítés biztosítja.

Nyelv Nyelvkód Felhasználói folyamatok MFA-értesítések
Arab nyelv Ar X a nemet jelzi. Zöld pipa.
Bolgár BG X a nemet jelzi. Zöld pipa.
Bengáli Bn Zöld pipa. X a nemet jelzi.
Katalán hitelesítésszolgáltató X a nemet jelzi. Zöld pipa.
Cseh Cs Zöld pipa. Zöld pipa.
Dán Da Zöld pipa. Zöld pipa.
Német de Zöld pipa. Zöld pipa.
Görög el Zöld pipa. Zöld pipa.
Angol En Zöld pipa. Zöld pipa.
Spanyol es Zöld pipa. Zöld pipa.
Észt és X a nemet jelzi. Zöld pipa.
Baszk Eu X a nemet jelzi. Zöld pipa.
finn nyelv Fi Zöld pipa. Zöld pipa.
Francia Francia Zöld pipa. Zöld pipa.
Galíciai nyelv Gl X a nemet jelzi. Zöld pipa.
Gudzsarát Gu Zöld pipa. X a nemet jelzi.
Héber nyelv ő X a nemet jelzi. Zöld pipa.
hindi szia Zöld pipa. Zöld pipa.
Horvát óra Zöld pipa. Zöld pipa.
Magyar hu Zöld pipa. Zöld pipa.
indonéz nyelv azonosító X a nemet jelzi. Zöld pipa.
Olasz őt Zöld pipa. Zöld pipa.
Japán ja Zöld pipa. Zöld pipa.
Kazak oké X a nemet jelzi. Zöld pipa.
Kannada -kn- Zöld pipa. X a nemet jelzi.
Koreai Ko Zöld pipa. Zöld pipa.
Litván liter X a nemet jelzi. Zöld pipa.
lett Lv X a nemet jelzi. Zöld pipa.
Malajálam Ml Zöld pipa. X a nemet jelzi.
Marathi úr Zöld pipa. X a nemet jelzi.
Maláj Ms Zöld pipa. Zöld pipa.
Norvég Bokmål Nb Zöld pipa. X a nemet jelzi.
Holland Nl Zöld pipa. Zöld pipa.
Norvég Nem X a nemet jelzi. Zöld pipa.
Pandzsábi Pa Zöld pipa. X a nemet jelzi.
Lengyel Pl Zöld pipa. Zöld pipa.
Portugál - Brazília pt-br Zöld pipa. Zöld pipa.
Portugál - Portugália pt-pt Zöld pipa. Zöld pipa.
Román Ro Zöld pipa. Zöld pipa.
Orosz Ru Zöld pipa. Zöld pipa.
Szlovák Sk Zöld pipa. Zöld pipa.
Szlovén Sl X a nemet jelzi. Zöld pipa.
Szerb - cirill betűs sr-cryl-cs X a nemet jelzi. Zöld pipa.
Szerb - latin sr-latn-cs X a nemet jelzi. Zöld pipa.
Svéd szv Zöld pipa. Zöld pipa.
Tamil [A meaningful translation cannot be provided without further context for "ta."] Zöld pipa. X a nemet jelzi.
Telugu te Zöld pipa. X a nemet jelzi.
thai Th Zöld pipa. Zöld pipa.
Török Tr Zöld pipa. Zöld pipa.
Ukrán Egyesült Királyság X a nemet jelzi. Zöld pipa.
Vietnami Vi X a nemet jelzi. Zöld pipa.
Walesi Cy X a nemet jelzi. X a nemet jelzi.
Kínai – Egyszerűsített zh-hans Zöld pipa. Zöld pipa.
Kínai - Hagyományos zh-hant Zöld pipa. Zöld pipa.

Következő lépések

További információ arról, hogyan szabhatja testre az alkalmazások felhasználói felületét az alkalmazás felhasználói felületének testreszabása az Azure Active Directory B2C-ben.