Language customization in Microsoft Entra External ID
Applies to: Workforce tenants External tenants (learn more)
Tip
This article applies to B2B collaboration user flows in workforce tenants. For information about external tenants, see Customize the language of the authentication experience.
Language customization in Microsoft Entra External ID allows your user flow to accommodate different languages to suit your user's needs. Microsoft provides the translations for 36 languages. In this article, you learn how to customize the attribute names on the attribute collection page, even if your experience is provided for only a single language.
How language customization works
By default, language customization is enabled for users signing up to ensure a consistent sign-up experience. You can use languages to modify the strings displayed to users as part of the attribute collection process during sign-up. If you're using custom user attributes, you need to provide your own translations.
Customize your strings
Tip
Steps in this article might vary slightly based on the portal you start from.
Language customization enables you to customize any string in your user flow.
- Sign in to the Microsoft Entra admin center as at least an External ID User Flow Administrator.
- Browse to Identity > External Identities > User flows.
- Select the user flow that you want to enable for translations.
- Select Languages.
- On the Languages page for the user flow, select the language that you want to customize.
- Expand the Attribute collection page.
- Select Download defaults (or Download overrides if you previously edited this language).
These steps give you a JSON file that you can use to start editing your strings.
Change any string on the page
- Open the JSON file downloaded from previous instructions in a JSON editor.
- Find the element that you want to change. You can find
StringId
for the string you're looking for, or look for theValue
attribute that you want to change. - Update the
Value
attribute with what you want displayed. - For every string that you want to change, change
Override
totrue
. If theOverride
value isn't changed totrue
, the entry is ignored. - Save the file and upload your changes.
Change extension attributes
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>"
}
[...]
}
Replace <ExtensionAttribute>
with the name of your custom user attribute.
Replace <ExtensionAttributeValue>
with the new string to be displayed.
Provide a list of values by using LocalizedCollections
If you want to provide a set list of values for responses, you need to create a LocalizedCollections
attribute. LocalizedCollections
is an array of Name
and Value
pairs. The items are displayed in the order listed. 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
is the user attribute that thisLocalizedCollections
attribute is a response to.Name
is the value shown to the user.Value
is what is returned in the claim when this option is selected.
Upload your changes
- After you complete the changes to your JSON file, go back to your tenant.
- Select User flows and select the user flow that you want to enable for translations.
- Select Languages.
- Select the language that you want to translate to.
- Select Attribute collection page.
- Select the folder icon, and select the JSON file to upload.
- The changes are saved to your user flow automatically. You can find the override under the Configured tab.
- To remove or download your customized override file, select the language and expand the Attribute collection page.
Additional information
Page UI customization labels as overrides
When you enable language customization, your previous edits for labels using page UI customization are persisted in a JSON file for English (en). You can continue to change your labels and other strings by uploading language resources in language customization.
Up-to-date translations
Microsoft is committed to providing the most up-to-date translations for your use. Microsoft continuously improves translations and keeps them in compliance for you. Microsoft identifies bugs and global terminology changes, and makes updates that work seamlessly in your user flow.
Support for right-to-left languages
Microsoft currently doesn't provide support for right-to-left languages, but you can use custom locales and CSS to change how strings are displayed. If you need this feature, vote for it on Azure Feedback.
Social identity provider translations
Microsoft provides the ui_locales
OIDC parameter to social logins. But some social identity providers, including Facebook and Google, don't honor them.
Browser behavior
Chrome and Firefox both request their set language. If the language is supported, it displays instead of the default. Microsoft Edge currently doesn't request a language and uses the default language.
Supported languages
Microsoft Entra External ID includes support for the following languages. User flow languages are provided by Microsoft Entra External ID. The multifactor authentication notification languages are provided by Microsoft Entra multifactor authentication.
Language | Language code | User flows | MFA notifications |
---|---|---|---|
Arabic | ar | ||
Bulgarian | bg | ||
Bangla | bn | ||
Catalan | ca | ||
Czech | cs | ||
Danish | da | ||
German | de | ||
Greek | el | ||
English | en | ||
Spanish | es | ||
Estonian | et | ||
Basque | eu | ||
Finnish | fi | ||
French | fr | ||
Galician | gl | ||
Gujarati | gu | ||
Hebrew | he | ||
Hindi | hi | ||
Croatian | hr | ||
Hungarian | hu | ||
Indonesian | id | ||
Italian | it | ||
Japanese | ja | ||
Kazakh | kk | ||
Kannada | kn | ||
Korean | ko | ||
Lithuanian | lt | ||
Latvian | lv | ||
Malayalam | ml | ||
Marathi | mr | ||
Malay | ms | ||
Norwegian Bokmal | nb | ||
Dutch | nl | ||
Norwegian | no | ||
Punjabi | pa | ||
Polish | pl | ||
Portuguese - Brazil | pt-br | ||
Portuguese - Portugal | pt-pt | ||
Romanian | ro | ||
Russian | ru | ||
Slovak | sk | ||
Slovenian | sl | ||
Serbian - Cyrillic | sr-cryl-cs | ||
Serbian - Latin | sr-latn-cs | ||
Swedish | sv | ||
Tamil | ta | ||
Telugu | te | ||
Thai | th | ||
Turkish | tr | ||
Ukrainian | uk | ||
Vietnamese | vi | ||
Chinese - Simplified | zh-hans | ||
Chinese - Traditional | zh-hant |