One Sensitivity Label, Multiple Languages in Purview DisplayName + Tooltip Translations via PowerShell
Introduction
If you operate a Microsoft Purview environment across multiple countries, you will quickly run into this limitation: sensitivity labels do not automatically translate.
Even if a user’s Office UI language is Dutch, French, or German, the label names and tooltips stay in the language you originally created.
The good news: Purview supports multilingual display names and tooltips, but the translations must be explicitly added to the label object using Security & Compliance PowerShell.
This guide explains how multilingual label works in Purview and provides a streamlined PowerShell script that adds or updates one locale at a time without overwriting existing translations.
See It in Action
Why This Matters
A label taxonomy only works when users understand the labels.
Common problems in multi-language deployments:
- Users select the wrong label because the names remain in English.
- Tooltips are ignored due to language barriers.
- Adoption declines (“labels are confusing”), impacting compliance goals.
Adding proper translations improves usability while maintaining governance:
One global label set, localised per user language.
What You Can (and Cannot) Localise
Purview translations are not automatic. They are per-locale overrides.
You can localise:
- Display name
- Tooltip/description
You cannot rely on automatic localisation for:
- Custom policy tips
- Justification prompts
- Custom messages in label policies
These often require separate policies for each region/language to achieve true localisation.
How Purview Stores Label Translations
Translations are stored under the label’s LocaleSettings property.
Each entry includes:
- LocaleKey — which property is being translated (
DisplayNameorTooltip) - Settings — list of locale/value pairs
Example:
[{"LocaleKey":"DisplayName","Settings":[{"Key":"en-US","Value":"Confidential"},{"Key":"nl-NL","Value":"Vertrouwelijk"}]},{"LocaleKey":"Tooltip","Settings":[{"Key":"en-US","Value":"Use for internal confidential data."},{"Key":"nl-NL","Value":"Gebruik dit label voor vertrouwelijke intern gegevens."}]}]
Prerequisites
You need:
ExchangeOnlineManagementmodule- Connectivity to the Compliance PowerShell endpoint
- Permissions: read/update labels (
Get-Label,Set-Label) - The label GUID
- Locale codes (examples:
nl-NL,fr-FR,ar-AR)
Step-by-Step: Adding a Translation
1. Identify the label GUID
Get-Label | Select-Object DisplayName, Name, Guid
# View current translations
Get-Label -Identity “<LABEL-GUID>” | Format-List DisplayName, Tooltip, LocaleSettings
2. Run the script to add/update a single locale
Script link in repo:Public/Set-MultilingualSensitivityLabels.ps1 at main · SaiedTaki/Public
What the script does:
- Prompts for missing inputs (GUID, locale, display name, tooltip)
- Retrieves the current label (including existing translations)
- Normalizes
LocaleSettings(handles JSON vs object) - Updates only the selected locale for:
DisplayNameTooltip
- Calls
Set-Labelwithout removing existing locales - Outputs updated JSON for verification
Validation
Verify that translations were applied:
Get-Label -Identity “<LABEL-GUID>” | Format-List DisplayName, Tooltip, LocaleSettings
Client-side validation:
- Restart Word/Outlook if metadata is cached.
- Ensure Office UI language matches the added locale.
- Test in multiple apps (Word, Outlook, Excel).
Conclusion
Multilingual sensitivity labels require deliberate configuration.
By storing translations directly in LocaleSettings, Purview allows one global label set to be localised per region.
The PowerShell script shared here provides a safe, incremental way to maintain translations one locale at a time, perfect for global organisations expanding into new languages or maintaining a centralised label architecture.
Resources
Set-Label (ExchangePowerShell) | Microsoft Learn
Discover more from Blogs | Saied Taki
Subscribe to get the latest posts sent to your email.

