Personalizzazione della lingua in Azure AD B2CLanguage customization in Azure Active Directory B2C

Nota

Questa funzionalità è disponibile in anteprima pubblica.This feature is in public preview.

La personalizzazione della lingua in Azure Active Directory B2C (Azure AD B2C) consente ai criteri di modificare la lingua del percorso utente in base alle esigenze dei clienti.Language customization in Azure Active Directory B2C (Azure AD B2C) allows your policy to accommodate different languages to suit your customer needs. Microsoft fornisce le traduzioni per 36 lingue, ma è anche possibile inserire le proprie traduzioni per qualsiasi lingua.Microsoft provides the translations for 36 languages, but you can also provide your own translations for any language. Anche se l'esperienza è disponibile per una sola lingua, è possibile personalizzare qualsiasi testo nelle pagine.Even if your experience is provided for only a single language, you can customize any text on the pages.

Funzionamento della personalizzazione della linguaHow language customization works

La personalizzazione della lingua consente di selezionare le lingue in cui è disponibile il percorso utente.You use language customization to select which languages your user journey is available in. Dopo aver abilitato la funzionalità, è possibile specificare il parametro della stringa di query, ui_locales, dall'applicazione.After the feature is enabled, you can provide the query string parameter, ui_locales, from your application. Quando si esegue la chiamata ad Azure AD B2C, la pagina viene tradotta nelle impostazioni locali indicate.When you call into Azure AD B2C, your page is translated to the locale that you have indicated. Questo tipo di configurazione garantisce il controllo completo sulle lingue del percorso utente e ignora le impostazioni della lingua del browser del cliente.This type of configuration gives you complete control over the languages in your user journey and ignores the language settings of the customer's browser.

Potrebbe non essere necessario un tale livello di controllo sulle lingue visualizzate dal cliente.You might not need that level of control over what languages your customer sees. Se non si specifica un parametro ui_locales, l'esperienza del cliente è determinata dalle impostazioni del browser.If you don't provide a ui_locales parameter, the customer's experience is dictated by their browser's settings. È comunque possibile controllare le lingue in cui il percorso utente è tradotto aggiungendole come lingue supportate.You can still control which languages your user journey is translated to by adding it as a supported language. Se il browser del cliente è impostato su una lingua che non si vuole supportare, viene visualizzata la lingua selezionata come predefinita nelle impostazioni cultura supportate.If a customer's browser is set to show a language that you don't want to support, then the language that you selected as a default in supported cultures is shown instead.

  • Lingua specificata tramite ui-locales: dopo aver abilitato la personalizzazione della lingua, il percorso utente viene tradotto nella lingua qui specificata.ui-locales specified language: After you enable language customization, your user journey is translated to the language that's specified here.
  • Lingua richiesta dal browser: se non è stato specificato alcun parametro ui_locales, il percorso utente viene tradotto nella lingua richiesta dal browser se è supportata.Browser-requested language: If no ui_locales parameter was specified, your user journey is translated to the browser-requested language, if the language is supported.
  • Lingua predefinita nei criteri: se il browser non specifica alcuna lingua oppure ne specifica una non supportata, il percorso utente viene tradotto nella lingua predefinita nei criteri.Policy default language: If the browser doesn't specify a language, or it specifies one that is not supported, the user journey is translated to the policy default language.

Nota

Se si fa uso di attributi utente personalizzati, è necessario fornire le traduzioni.If you're using custom user attributes, you need to provide your own translations. Per altre informazioni, vedere Personalizzazione delle stringhe.For more information, see Customize your strings.

Supporto delle lingue richieste per ui_localesSupport requested languages for ui_locales

Per i criteri creati prima della disponibilità generale della personalizzazione della lingua occorre prima abilitare questa funzionalità.Policies that were created before the general availability of language customization need to enable this feature first. Per i criteri creati successivamente la personalizzazione della lingua è abilitata per impostazione predefinita.Policies that were created after have language customization enabled by default.

Quando si abilita la personalizzazione della lingua nei criteri, è possibile controllare la lingua del percorso utente aggiungendo il parametro ui_locales.When you enable language customization on a policy, you can control the language of the user journey by adding the ui_locales parameter.

  1. Passare alla pagina delle funzionalità B2C nel portale di Azure.Go to the B2C features page on the Azure portal.
  2. Passare al criterio da abilitare per le traduzioni.Browse to a policy that you want to enable for translations.
  3. Selezionare Personalizzazione della lingua.Select Language customization.
  4. Selezionare Abilita personalizzazione della lingua.Select Enable language customization.
  5. Leggere le informazioni nella finestra di dialogo e selezionare .Read the information in the dialog box, and select Yes.

Selezionare le lingue abilitate per il percorso utenteSelect which languages in your user journey are enabled

Abilitare un elenco delle lingue consentite in cui tradurre il percorso utente quando non viene specificato il parametro ui_locales.Enable a set of languages for your user journey to be translated to when the ui_locales parameter is not provided.

  1. Assicurarsi che la personalizzazione della lingua sia abilitata nei criteri in base alle istruzioni precedenti.Ensure that your policy has language customization enabled from previous instructions.
  2. Nella pagina Modifica criterio selezionare Personalizzazione della lingua.From the Edit policy page, select Language customization.
  3. Selezionare una lingua che si vuole supportare.Select a language that you want to support.
  4. Nel riquadro delle proprietà impostare Attivato su .In the properties pane, change Enabled to Yes.
  5. Scegliere Salva nella parte superiore del riquadro delle proprietà.Select Save at the top of the properties pane.

Nota

Se non viene specificato un parametro ui_locales, la pagina viene tradotta nella lingua del browser del cliente solo se è abilitata.If a ui_locales parameter is not provided, the page is translated to the customer's browser language only if it is enabled.

Personalizzazione delle stringheCustomize your strings

La personalizzazione della lingua consente di personalizzare qualsiasi stringa nel percorso utente.Language customization enables you to customize any string in your user journey.

  1. Assicurarsi che la personalizzazione della lingua sia abilitata nei criteri in base alle istruzioni precedenti.Ensure that your policy has language customization enabled from the previous instructions.
  2. Nella pagina Modifica criterio selezionare Personalizzazione della lingua.From the Edit policy page, select Language customization.
  3. Selezionare la lingua da personalizzare.Select the language that you want to customize.
  4. Selezionare la pagina da modificare.Select the page that you want to edit.
  5. Selezionare Scarica impostazioni predefinite (o Scarica override se in precedenza si è già modificata questa lingua).Select Download defaults (or Download overrides if you have previously edited this language).

Questa procedura permette di ottenere un file JSON con cui iniziare a modificare le stringhe.These steps give you a JSON file that you can use to start editing your strings.

Modificare stringhe nella paginaChange any string on the page

  1. In un editor JSON aprire il file JSON scaricato seguendo le istruzioni precedenti.Open the JSON file downloaded from previous instructions in a JSON editor.
  2. Trovare l'elemento da modificare.Find the element that you want to change. È possibile trovare il valore StringId della stringa che si sta cercando o cercare l'attributo Value che si vuole modificare.You can find StringId for the string you're looking for, or look for the Value attribute that you want to change.
  3. Aggiornare l'attributo Value con i dati da visualizzare.Update the Value attribute with what you want displayed.
  4. Per ogni stringa che si vuole modificare impostare Override su true.For every string that you want to change, change Override to true.
  5. Salvare il file e caricare le modifiche.Save the file and upload your changes. Il controllo di caricamento si trova nella stessa posizione in cui è stato scaricato il file JSON.(You can find the upload control in the same place as where you downloaded the JSON file.)

Importante

Se è necessario eseguire l'override di una stringa, assicurarsi di impostare il valore Override su true.If you need to override a string, make sure to set the Override value to true. Se il valore non viene modificato, la voce viene ignorata.If the value isn't changed, the entry is ignored.

Cambiare gli attributi di estensioneChange extension attributes

Per modificare la stringa di un attributo utente personalizzato o aggiungerne uno al file JSON, usare il formato seguente:If you want to change the string for a custom user attribute, or you want to add one to the JSON, it's in the following format:

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

Sostituire <ExtensionAttribute> con il nome dell'attributo utente personalizzato.Replace <ExtensionAttribute> with the name of your custom user attribute.

Sostituire <ExtensionAttributeValue> con la nuova stringa da visualizzare.Replace <ExtensionAttributeValue> with the new string to be displayed.

Fornire un elenco di valori usando LocalizedCollectionsProvide a list of values by using LocalizedCollections

Se si vuole specificare un elenco preimpostato di valori per le risposte, è necessario creare un attributo LocalizedCollections.If you want to provide a set list of values for responses, you need to create a LocalizedCollections attribute. LocalizedCollections è una matrice di coppie Name-Value.LocalizedCollections is an array of Name and Value pairs. Per aggiungere LocalizedCollections, usare il formato seguente:To add LocalizedCollections, use the following format:

{
  "LocalizedStrings": [...],
  "LocalizedCollections": [{
      "ElementType":"ClaimType", 
      "ElementId":"<UserAttribute>",
      "TargetCollection":"Restriction",
      "Override": true,
      "Items":[
           {
                "Name":"<Response1>",
                "Value":"<Value1>"
           },
           {
                "Name":"<Response2>",
                "Value":"<Value2>"
           }
     ]
  }]
}
  • ElementId è l'attributo utente per il quale l'attributo LocalizedCollections rappresenta una risposta.ElementId is the user attribute that this LocalizedCollections attribute is a response to.
  • Name è il valore che viene visualizzato all'utente.Name is the value that's shown to the user.
  • Value è il valore restituito nell'attestazione quando questa opzione è selezionata.Value is what is returned in the claim when this option is selected.

Caricamento delle modificheUpload your changes

  1. Dopo aver completato le modifiche al file JSON, tornare al tenant B2C.After you complete the changes to your JSON file, go back to your B2C tenant.
  2. Nella pagina Modifica criterio selezionare Personalizzazione della lingua.From the Edit policy page, select Language customization.
  3. Selezionare la lingua in cui si vuole tradurre.Select the language that you want to translate to.
  4. Selezionare la pagina per cui si vogliono fornire traduzioni.Select the page where you want to provide translations.
  5. Selezionare l'icona della cartella e selezionare il file JSON da caricare.Select the folder icon, and select the JSON file to upload.

Le modifiche vengono salvate automaticamente nel criterio.The changes are saved to your policy automatically.

Personalizzare l'interfaccia utente della pagina usando la personalizzazione della linguaCustomize the page UI by using language customization

Esistono due modi per localizzare il contenuto HTML.There are two ways to localize your HTML content. Un modo consiste nell'attivare la personalizzazione della lingua.One way is to turn on language customization. L'abilitazione di questa funzionalità consente ad Azure AD B2C di inoltrare il parametro Open ID Connect, ui-locales, all'endpoint.Enabling this feature allows Azure AD B2C to forward the Open ID Connect parameter, ui-locales, to your endpoint. Il server di contenuti può usare questo parametro per fornire pagine HTML personalizzate specifiche della lingua.Your content server can use this parameter to provide customized HTML pages that are language specific.

In alternativa, è possibile eseguire il pull del contenuto da posizioni diverse in base alle impostazioni locali in uso.Alternatively, you can pull content from different places based on the locale that's used. Nell'endpoint abilitato per CORS è possibile configurare una struttura di cartelle in cui ospitare il contenuto per specifiche lingue.In your CORS-enabled endpoint, you can set up a folder structure to host content for specific languages. Se si inserisce il valore del carattere jolly {Culture:RFC5646} verrà chiamata la lingua corretta.You'll call the right one if you use the wildcard value {Culture:RFC5646}. Ad esempio, supponiamo che questo sia l'URI della pagina personalizzata:For example, assume that this is your custom page URI:

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

È possibile caricare la pagina in fr.You can load the page in fr. Quando la pagina esegue il pull del contenuto HTML e CSS, lo fa da:When the page pulls HTML and CSS content, it's pulling from:

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

Aggiungere impostazioni locali personalizzateAdd custom locales

È anche possibile aggiungere lingue per cui attualmente Microsoft non fornisce traduzioni.You can also add languages that Microsoft currently does not provide translations for. Sarà necessario fornire le traduzioni per tutte le stringhe contenute nei criteri.You'll need to provide the translations for all the strings in the policy.

  1. Nella pagina Modifica criterio selezionare Personalizzazione della lingua.From the Edit policy page, select Language customization.
  2. Selezionare Aggiungi lingua personalizzata nella parte superiore della pagina.Select Add custom language from the top of the page.
  3. Nel riquadro del contesto che viene visualizzato identificare la lingua per cui si stanno inserendo le traduzioni immettendo un codice delle impostazioni locali valido.In the context pane that opens, identify which language you're providing translations for by entering a valid locale code.
  4. Per ogni pagina è possibile scaricare un set di sostituzioni per la lingua inglese e lavorare sulle traduzioni.For each page, you can download a set of overrides for English and work on the translations.
  5. Una volta terminato con i file JSON, è possibile caricarli per ogni pagina.After you're done with the JSON files, you can upload them for each page.
  6. Selezionare Abilita e i criteri potranno ora visualizzare la lingua per gli utenti.Select Enable, and your policy can now show this language for your users.
  7. Salvare la lingua.Save the language.

Informazioni aggiuntiveAdditional information

Etichette di personalizzazione dell'interfaccia utente della pagina come sostituzioniPage UI customization labels as overrides

Quando si abilita la personalizzazione della lingua, le modifiche precedenti apportate alle etichette usando la personalizzazione dell'interfaccia utente della pagina vengono rese persistenti in un file JSON per la lingua Inglese (en).When you enable language customization, your previous edits for labels using page UI customization are persisted in a JSON file for English (en). È possibile continuare a modificare le etichette e le altre stringhe caricando le risorse di lingua nella funzionalità di personalizzazione della lingua.You can continue to change your labels and other strings by uploading language resources in language customization.

Traduzioni aggiornateUp-to-date translations

Microsoft si impegna a fornire le traduzioni più aggiornate.Microsoft is committed to providing the most up-to-date translations for your use. Continuerà a migliorare le traduzioni e a garantirne la conformità.Microsoft continuously improves translations and keeps them in compliance for you. Verranno identificati i bug e le modifiche alla terminologia globale e verranno eseguiti aggiornamenti compatibili con il percorso utente.Microsoft will identify bugs and changes in global terminology and make updates that will work seamlessly in your user journey.

Supporto per lingue da destra a sinistraSupport for right-to-left languages

Microsoft non fornisce attualmente supporto per le lingue da destra a sinistra.Microsoft currently doesn't provide support for right-to-left languages. Se si ha bisogno di questa funzionalità, votarla in Commenti e suggerimenti su Azure.If you need this feature, please vote for it on Azure Feedback.

Traduzioni per provider di identità basati su social networkSocial identity provider translations

Microsoft fornisce il parametro OIDC ui_locales per gli account di accesso ai social network,Microsoft provides the ui_locales OIDC parameter to social logins. che però non viene riconosciuto da alcuni provider di identità basati su social network, tra cui Facebook e Google.But some social identity providers, including Facebook and Google, don't honor them.

Comportamento dei browserBrowser behavior

Chrome e Firefox richiedono entrambi la relativa lingua preimpostata.Chrome and Firefox both request for their set language. Se è supportata, tale lingua viene visualizzata prima di quella predefinita.If it's a supported language, it's displayed before the default. Microsoft Edge attualmente non richiede alcuna lingua e passa direttamente alla lingua predefinita.Edge currently does not request a language and goes straight to the default language.

Lingue supportateSupported languages

LinguaggioLanguage Codice linguaLanguage code
BengaleseBangla bnbn
CecoCzech cscs
DaneseDanish dada
TedescoGerman dede
GrecoGreek elel
IngleseEnglish enen
SpagnoloSpanish eses
FinlandeseFinnish fifi
FranceseFrench frfr
GujaratiGujarati gugu
HindiHindi hihi
CroatoCroatian hrhr
UnghereseHungarian huhu
ItalianoItalian itit
GiapponeseJapanese jaja
KannadaKannada knkn
CoreanoKorean koko
MalayalamMalayalam mlml
MarathiMarathi mrmr
MaleseMalay msms
Norvegese bokmålNorwegian Bokmal nbnb
OlandeseDutch nlnl
PunjabiPunjabi papa
PolaccoPolish plpl
Portoghese (Brasile)Portuguese - Brazil pt-brpt-br
Portoghese (Portogallo)Portuguese - Portugal pt-ptpt-pt
RomenoRomanian roro
RussoRussian ruru
SlovaccoSlovak sksk
SvedeseSwedish svsv
TamilTamil tata
TeluguTelugu tete
ThaiThai thth
TurcoTurkish trtr
Cinese (semplificato)Chinese - Simplified zh-hanszh-hans
Cinese (tradizionale)Chinese - Traditional zh-hantzh-hant