Users cannot change the display language of the Office 365 portal themselves if they are synced users, and they’ll receive an error. If you attempt to do this as an administrator using a Powershell command to set the PreferredLanguage attribute directly like this:
set-msoluser -userprincipalname "xxx" -PreferredLanguage "en-US"
You will see this error:
set-msoluser : Unable to update parameter. Parameter name: PreferredLanguage. At line:1 char:1 + set-msoluser -userprincipalname xxx -preferredlanguage "en-US" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ + CategoryInfo : OperationStopped: (:) [Set-MsolUser], MicrosoftOnlineException + FullyQualifiedErrorId : Microsoft.Online.Administration.Automation.PropertyNotSettableException,Microsoft.Online.Administration.Automation.SetUser
You can only set the PreferredLanguage attribute on non-synced users because this property is managed by dirsync/aadsync, and thus only settable on your onpremises Active Directory. Use ADSIEdit or Powershell to change the PreferredLanguage property locally for your users and then run a sync to change the language in Office 365.
Here’s an example PS snippet that will set (bulk change) the preferredLanguage Active Directory atrribute of all your users to Dutch:
Get-AdUser -Filter * -ResultSetSize 9999 | Set-ADUser -Replace @{‘preferredLanguage’=”nl-NL”}
If you need to look up your own language code, you can do so here
Note: if the PreferredLanguage attribute is not set, language will default to English.