Microsoft 365 has way too many options to set the language and they don't sync up with each other.
For example, when buying a tenant you have to choose a language this language will be the default for everything Microsoft 365.
However, if a user wants to change the default language for Word for example, one would think to do this under his language settings but this changes nothing and this seems to only change the language for other things besides Office apps like the portal page
Forcing a default language through Active Directory if you are in a hybrid environment doesn't work either.
The reason for this is because Office 365 apps use Sharepoint/Onedrive for Business for their language settings and do not take the settings from the user profile at all.
You can try this by changing it for a single user like so:
- Login to https://admin.microsoft.com
- Go to Users > Active Users and find the user and select his/her name
- Go to the Onedrive tab
- Click on Create link to file under Get access to files
- It takes only a minute for it to generate a onedrive link that you can access as an admin, click on it when it's done. Once in you will have access to the user's data as well
- Once inside the user's Onedrive, click on the settings icon on the top right and then Onedrive Settings
- Click on More Settings
- Click on Language Settings under Region and Language
- Click on Show advanced settings
- Put a checkmark on all the languages you want to the user to have access to and click on Save.
The language the Office apps will show will also depend on the language setting in the user's profile.
If the user has set it to Dutch but you don't put a checkmark on it, then it will default to the userprofile default language setting.
If you have put a checkmark on both Dutch and English for example, then the user can use the language settings in his profile to switch between the two.
Doing it this way gives your admin account full rights to the user's onedrive, the user won't notice this at all. You can remove the rights using powershell.
Connect-SPOService <Adminsite>
Set-SPOUser -Site <onedriveusersite> -LoginName <youradminacccount> -IsSiteCollectionAdmin $false
Before you can use Connect-SPOService and Set-SPOUser you will need to download the SharePoint Online Management Shell
You can also use powershell to change the language settings for a user. You will need both the Sharepoint Online Management Shell and PnP Powershell for this.
- Install the PnP.Powershell module by entering this: Install-Module PnP.Powershell -RequiredVersion 1.12.0
Versions higher than 1.12.0 don't work with Windows 10. - Before you can change anything you need to give yourself rights to the user's Onedrive
First connect to Sharepoint withConnect-SPOService <Adminsite>
- Add yourself as admin by using the following command:
You can get the user's onedrive URL in the 365 portal, but most of the time it's simply https://tenantname-my.sharepoint.com/personal/firstname_lastname_domainname_comSet-SPOUser -Site <onedriveusersite> -LoginName <youradminacccount> -IsSiteCollectionAdmin $true
- Now you can connect to the user's Onedrive with PnP Powershell by using following command:
Connect-PnPOnline <onedriveuserurl>
- Next enter the following commands one by one:
- $web = Get-PnPWeb
- $web.IsMultilingual = $true
- $web.AddsupportedUILanguage(languagecode) # for example $web.AddsupportedUILanguage(1043) adds dutch, you can find the codes here what you need is the LCID numbers.
- $web.Update()
- Invoke-PnPQuery
- All the user needs to do now is log off and back on it to see the changes, it's possible the old settings are still cached in the user's browser if the changes aren't seen. Use CTRL+F5 to refresh the cache.