SOLVED

Change the language of some - or all - Sharepoint Online sites

Occasional Contributor

Hello,
Our settings were practically the default system activation, and without a doubt the time for adjustment has arrived...

Searching the Internet, in the available documentation, I couldn't find where I could, for example - IF available, of course - standardize the language, either those already created or those that will still be, since every time we still have to select the one we prefer.

Can anyone shed some light on this tunnel for this topic?

I'm still looking for a better way, within the recommended to adjust names, group aliases, emails too, but that's another matter!

great lengths
Hugs

3 Replies
best response confirmed by tcboeira (Occasional Contributor)
Solution

@tcboeira 

Hi
When a site is created, it's too late to change language. You can only act on the display language, but onedrive and sharepoint, when created can't be changed.  personal experience, our setting was in French and after verification with microsoft support, i had to recreate some of them.

Vertebre85_0-1649256632965.png

 

For any new sharepoint site, you can define the language on the Admin of office 365

or more easily, you create with PNP powershell and add the "LCID" parameter

New-PnPSite -Type TeamSite -Title <name> -Description <sometext> -Lcid 1033

I prefer the powershell option to create new site, as i'm sure which language is the default.

 

To chagne the default language for onedrive site creation, you need to contact microsoft for new account.

Hi ...
Thanks for the feedback Vertebre85

As for the situation... It's unfortunate, but it's ok.
In my organization, although many - almost all - are in our language (pt-BR), and users' mailboxes too, there is a behavior of creating sites from Microsoft Teams, and we don't know why, they are generated in "en-US".


I thought it might be something that went unnoticed, and I can't by volume consider a possible error.


But thank you immensely for the answer, the help, and gave me a referral...


big hugs

@tcboeira 

Hi

I totally understood, I was in the same situation.

For the site

First work around, you can remove all display language and select only portuguese

 

For the mailbox,

that could be changed for your user.

You need an exchange admin right, you connect to powershell and you adapt it

 

Get-Mailbox <UPN> | Get-MailboxRegionalConfiguration |Set-MailboxRegionalConfiguration -Language en-BE

 

 

Adapt the upn and the language code ( probably then "pt-br"

You can also change some regional setting like the date format

 

Get-Mailbox <UPN> | Get-MailboxRegionalConfiguration |Set-MailboxRegionalConfiguration -DateFormat "dd/MM/yyyy"

 

You can do a loop then to change it in batch

For onedrive

 

In my case, i've added a alternate display language

I've connected with SPO service

Then I grant myself site collection administrator role

 

Set-SPOUser -Site "<url of onedrive space>" -LoginName "<my own UPN>" -IsSiteCollectionAdmin $true

 

I create a CSV file with all the url of onedrive site (one column)

Then I run the script:

 

Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
 
#Authenticate to Site
 
$Username = Read-Host -Prompt "Please enter your username"
 
$Password = Read-Host -Prompt "Please enter your password" -AsSecureString
 
$site1 = import-csv -Path "<path of file>\book1.csv"
foreach($column in $site1) {
$site = $column.site
$Context = New-Object Microsoft.SharePoint.Client.ClientContext($Site)
$Creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username,$Password) 
$Context.Credentials = $Creds
 
$web = $Context.Web
 
$Context.Load($web)
$Context.ExecuteQuery()
# please refer to https://technet.microsoft.com/en-us/library/cc287874(v=office.12).aspx for all locale Ids
$web.IsMultilingual=$true
$web.AddSupportedUILanguage(1033)
$Context.Web.Update()
 
$Context.ExecuteQuery()
 
}

 

Don,t forgot to remove the site collection admin right after (replace true by false)

The script was not done by me, i adapt it but i don't remenber the source...

 

This is several steps i've implemented to adapt a bit 2 year ago