Nyelvi testreszabás az Azure Active Directory B2C-ben
Mielőtt hozzákezdene, a 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_locales
az alkalmazásból. Amikor betárcsáz az Azure AD B2C-be, a lap 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.
Előfordulhat, hogy nincs szüksége arra a szintre, hogy az ügyfél milyen nyelveket lát. 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. - A 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:
- A támogatott nyelvek explicit listájának beállítása
- Nyelvspecifikus sztringek és gyűjtemények megadása
- Szerkessze a lap tartalomdefinícióját .
Előfeltételek
- Hozzon létre egy felhasználói folyamatot , hogy a felhasználók regisztrálhassák és bejelentkezhessenek az alkalmazásba.
- Webalkalmazás regisztrálása.
- Az Egyéni szabályzatok használatának első lépései az Active Directory B2C-ben
- Webalkalmazás regisztrálása.
A kért nyelvek támogatása ui_locales
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 a nyelvi testreszabás alapértelmezés szerint engedélyezve lettek.
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.
- Az Azure AD B2C-bérlőben válassza a Felhasználói folyamatok lehetőséget.
- Kattintson arra a felhasználói folyamatra, amelyet engedélyezni szeretne a fordításokhoz.
- Nyelvek kiválasztása.
- 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.
- 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.
- A felhasználói folyamat Nyelvek lapján válassza ki a támogatni kívánt nyelvet.
- A tulajdonságok panelen módosítsa az Engedélyezve értéket Igen értékre.
- 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.
- 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.
- A felhasználói folyamat Nyelv lapján válassza ki a testreszabni kívánt nyelvet.
- A Lapszintű erőforrások fájlok területen válassza ki a szerkeszteni kívánt lapot.
- Válassza az alapértelmezett letöltési beállításokat (vagy a felülbírálások letöltését , 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
- Nyissa meg az előző utasításokból letöltött JSON-fájlt egy JSON-szerkesztőben.
- Keresse meg a módosítani kívánt elemet. Megkeresheti
StringId
a keresett sztringet, vagy megkeresheti aValue
módosítani kívánt attribútumot. - Frissítse az
Value
attribútumot a megjelenítendővel. - Minden módosítani kívánt sztringnél váltson
Override
a következőretrue
: . - 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 bírálnia egy sztringet, állítsa be az értéket a Override
következőre true
: . 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 Name
Value
pár. Az elemek sorrendje a megjelenített sorrend lesz. A hozzáadáshoz LocalizedCollections
haszná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 ezLocalizedCollections
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
- Miután elvégezte a JSON-fájl módosításait, térjen vissza a B2C-bérlőhöz.
- Válassza ki a Felhasználói folyamatokat , és kattintson arra a felhasználói folyamatra, amelyet engedélyezni szeretne a fordításokhoz.
- Nyelvek kiválasztása.
- Válassza ki a lefordítani kívánt nyelvet.
- Válassza ki azt a lapot, amelyen fordításokat szeretne nyújtani.
- Válassza ki a mappa ikont, és válassza ki a feltölteni kívánt JSON-fájlt.
A rendszer automatikusan menti a módosításokat a felhasználói folyamatba.
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 Csatlakozás paramétert ui-locales
a 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. A helyettesítő karakter használata {Culture:RFC5646}
esetén 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
A lapot betöltheti a következőbe 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. Meg kell adnia a felhasználói folyamat összes sztringjének fordítását. 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.
- Az Azure AD B2C-bérlőben válassza a Felhasználói folyamatok lehetőséget.
- Kattintson arra a felhasználói folyamatra, amelyhez egyéni nyelveket szeretne hozzáadni, majd kattintson a Nyelvek elemre.
- Válassza az Egyéni nyelv hozzáadása lehetőséget a lap tetején.
- 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.
- Minden oldalhoz letöltheti az angol nyelvű felülbírálásokat, és dolgozhat a fordításokon.
- Miután végzett a JSON-fájlokkal, feltöltheti őket az egyes oldalakra.
- 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.
- 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. For example, SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
.
- Keresse meg a BuildingBlocks elemet. Ha az elem nem létezik, adja hozzá.
- 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 </SupportedLanguages>
után adja hozzá a következő LocalizedResources
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.!#$%&'^_`\{\}~\-]+@[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: @ # $ % ^ & * - _ + = [ ] { } | \ : ' , ? / ` ~ " ( ) ; .</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: @ # $ % ^ & * - _ + = [ ] { } | \ : ' , ? / ` ~ " ( ) ; .</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: @ # $ % ^ & * - _ + = [ ] { } | \\ : ' , ? / ` ~ \" ( ) ; .</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: @ # $ % ^ & * - _ + = [ ] { } | \\ : ' , ? / ` ~ \" ( ) ; .</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 gyermekeként másolt ContentDefinitions elem teljes tartalmát.
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
- Mentse a bővítményfájlt.
- Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.
- Keresse meg és válassza ki az Azure AD B2C-t.
- A Szabályzatok területen válassza az Identity Experience Framework lehetőséget.
- Válassza az Egyéni szabályzat feltöltése lehetőséget.
- Töltse fel a korábban módosított bővítményfájlt.
Az egyéni szabályzat tesztelése a Futtatás most funkcióval
- Válassza ki a feltöltött szabályzatot, majd válassza a Futtatás most lehetőséget.
- Látnia kell a honosított regisztrációs vagy bejelentkezési oldalt.
- Kattintson a regisztrációs hivatkozásra, és látnia kell a honosított regisztrációs oldalt.
- 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=0239a9cc-309c-4d41-12f1-31299feb2e82&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 területi beállításokkal és a CSS használatával teheti meg a sztringek megjelenítési módjának módosításához. 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
A Chrome és a Firefox is kéri a beállított nyelvüket. Ha támogatott nyelv, akkor az alapértelmezett előtt jelenik meg. A Microsoft Edge jelenleg nem kér nyelvet, és egyenesen az alapértelmezett nyelvre megy.
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 | ar | ||
Bolgár | Bg | ||
Bangla | Bn | ||
Katalán | Ca | ||
Cseh | cs | ||
Dán | da | ||
Német | de | ||
Görög | el | ||
Angolul | hu | ||
Spanyol | es | ||
Észt | et | ||
Baszk | Eu | ||
finn | fi | ||
Francia | fr | ||
Gallego | Gl | ||
Gudzsaráti | Gu | ||
héber | Ő | ||
Hindi | szia | ||
Horvát | ó | ||
Magyar | hu | ||
Indonéz | id | ||
Olasz | it | ||
Japán | ja | ||
Kazak | Kk | ||
Kannada | kn | ||
Koreai | ko | ||
Litván | lt | ||
Lett | Lv | ||
Malajálam | Ml | ||
Marathi | Mr | ||
Maláj | ms | ||
Norvég Bokmal | nb | ||
Holland | nl | ||
norvég | nem | ||
Pandzsábi | Pa | ||
Lengyel | pl | ||
Portugál - Brazília | pt-br | ||
Portugál - Portugália | pt-pt | ||
Román | ro | ||
Orosz | ru | ||
Szlovák | Sk | ||
Szlovén | Sl | ||
Szerb - cirill betűs | sr-cryl-cs | ||
Szerb - latin | sr-latn-cs | ||
svéd | sv | ||
Tamil | ta | ||
Telugu | te | ||
Thai | Th | ||
Török | Tr | ||
Ukrán | uk | ||
Vietnámi | Vi | ||
Walesi | Cy | ||
Kínai – Egyszerűsített | zh-hans | ||
Kínai - Hagyományos | zh-hant |
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.
- További információ az IEF-referencia honosítási eleméről.
- Tekintse meg az Azure AD B2C-ben elérhető honosítási sztringazonosítók listáját.